Cypher语句样例


插入节点。插入一个Person类别的节点,且这个节点有一个属性name,属性值为Andres
CREATE(n:Person { name : 'Andres'});
 
插入边。插入一条a到b的有向边,且边的类别为Follow
MATCH(a:Person),(b:Person)
WHEREa.name = 'Node A' AND b.name = 'Node B'
CREATE(a)-[r:Follow]->(b);
 
新增边:
startn1=node(3),n2=node(5) CREATE n1-[:Follow]->n2;
startn1=node(4),n2=node(6) createn1<-[:SAME{CT:'AT000006',DS:'143',TM:'1521742574',BDATE:'1014912000',EDATE:'1107014400'}]-n2;
 
新增属性:
startn1=node(4),n2=node(3) match n1-[r]-n2 set r.BDATE='1093968000';
 
map中添加属性:
MATCH(peter{name:'Peter'})
SET peter +={hungry:TRUE,position:'Entrepreneur'}
当用map来设置属性时,可以使用+=形式的SET,用于只添加属性,而不删除图元素中已存在的属性。
 
新增索引

 
 设置节点的多个标签
MATCH(n{name:'Stefan'})
SET n:German:Bossman:Swedish
RETURN n
 

更新节点。更新一个Person类别的节点,设置新的name。
MATCH(n:Person { name: 'Andres' })
SETn.name = 'Taylor';
 
删除节点和与其相连的边。Neo4j中如果一个节点有边相连,是不能单单删除这个节点的。
MATCH(n:Person { name:'Andres' })
DETACHDELETE n;
 
修改边的type
Match ()-[r:SAME]-() create ()-[r2:`473`]-() set r2=r with r delete r
 
 
删除边。
MATCH(a:Person)-[r:Follow]->(b:Person)
WHEREa.name = 'Andres' AND b.name = 'Taylor'
DELETEr;
 
删除边
startn1=node(3),n2=node(5) MATCH (n1)-[r]->(n2) DELETE r;
 
删除属性:
startn1=node(6),n2=node(5) match p=n1-[r]-n2
remover.name
return p
 
set语句删除属性:
startn1=node(6),n2=node(5) match p=n1-[r]-n2
set r.name=null
return p
 
删除一个节点及其所有的关系
MATCH(n{name:'Andres'})
DETACH DELETEn
 
删除节点的多个标签
MATCH(n{name:'Peter'})
REMOVEn:German:Swedish
RETURN n
  

最短路径。
MATCH(ms:Person { name:'Andres' }),(cs:Person { name:'Taylor' }), p =shortestPath((ms)-[r:Follow]-(cs)) RETURN p;
 
查询两个节点之间的关系。
MATCH(a:Person { name:'Andres' })-[r]->(b:Person { name:'Taylor' })
RETURNtype(r);
 
查询一个节点的所有Follower。
MATCH(:Person { name:'Taylor' })-[r:Follow]->(Person)
RETURNPerson.name;
 
查询具有指定Lable的节点
match(n:Movie) return n;
 
查询具有指定属性的节点
match(n{name:'TOM'})return n;
 
查询相关节点

STARTn=node(0) MATCH (n)-[r]-(x) RETURN n.name,type(r),x.name limit 2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值