Neo4j Cypher-Syntax介绍


Neo4j相关操作:


---枚举字段所有的取值(去重)
CREATE (a:Person {name:'Anne',eyeColor:'blue'}),(b:Person {name:'Bill',eyeColor:'brown'}),(c:Person {name:'Carol',eyeColor:'blue'})
WITH [a,b,c] AS ps
UNWIND ps AS p
RETURN DISTINCT p.eyeColor
---获取静态特征
CREATE(a:Person{name:'Jane',livesIn:'London'}),(b:Person{name:'Tom',liveIn:'copenhagen'})
WITH a,b
MATCH(p:Person)
RETURN p.name
---动态计算筛选属性值特征
CREATE (a:Restaurant {name:"Hungry Jo",rating_hygiene:10,rating_food:7}),(b:Restaurant {name:'Buttercup Tea Rooms',rating_hygiene:5,rating_food:6}),(c1:Category{name:'hygiene'}),(c2:Category{name:'food'})
WITH a,b,c1,c2
MATCH (restaurant:Restaurant),(category:Category)
WHERE restaurant["rating_"+category.name]>6
RETURN DISTINCT restaurant.name
---使用指数操作符
WITH 2 AS number ,3 AS exponent
RETURN  number^exponent AS result
---比较操作符
WITH 2 AS number ,3 AS exponent
RETURN  number <> exponent AS result
--- 特殊字符比较操作(STARTS WITH,ENDS WITH,CONTAINS)
WITH ['john','Mark','Jonathan','Bill'] AS somenames
--- UNWIND 列表展开
UNWIND somenames AS names
WITH names AS candidate
WHERE CANDIDATE STARTS WITH 'Jo'
RETURN CANDIDATE
---布尔操作
bool操作符对应表

WITH [2,4,7,9,12] AS numberlist
UNWIND numberlist AS number
WITH number
WHERE number =4 OR (number>6 AND number<10)
RETURN number
---正则表达式过滤数据
WITH ['mouse','chair','door','house'] AS wordlist
UNWIND wordlist AS word
WITH word
WHERE word =~'.*ous.*'
RETURN word
---查询满足标签数据的数目
MATCH (n)
WHERE size([label IN labels(n) WHERE label IN ['Person','Employee']|1])>0
RETURN count(n)
---列表操作
1.返回列表
RETURN [0,1,2,3,4,5,6,7,8,9] AS list
2列表切片操作
WITH ['Anne','John','Bill','Diane','Eve'] AS names
RETURN names[1..3] AS result
3.列表复杂操作
RETURN [x IN range(0,10) WHERE x %2 =0|x^3] AS result
---时间操作
1.返回各种属性
WITH date({year:1992,month:3,day:17}) AS d
RETURN d.year,d.quarter,d.month,d.week,d.weekYear,d.day,d.ordinalDay,d.dayofweek,d.dayofQuarter
2.返回时间差
RETURN duration.between(date('1992-03-17'),date('1993-10-15')) AS theDuration
3.获取指定日期的一周的第五天
RETURN date.truncate('week',date('2020-3-17'),{dayofweek:5}) AS Friday
4.时间的相加减乘除
----1
RETURN duration({hours:1,minutes:16})/2 AS theDuration
----2
WITH localdatetime({year:1984,month:10,day:11,hour:12,minute:31,second:14}) AS aDateTime,
duration({years:12,nanoseconds:2}) AS aDuration
RETURN aDateTime+aDuration ,aDateTime-aDuration

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值