neo4j一些语句

neo4j的一些增删改查的语句

将自己用到过的一些语句记录下来,方便以后查看。

创建节点

create (n:两栖作战舰艇{name:'yyw'})

注:两栖作战舰艇是label,yyw是label的属性值name。

查询节点

MATCH (n:`两栖作战舰艇`) where n.name='yyw' return n
match(n:两栖作战舰艇{name:'“鹿特丹/加里西亚”级两栖登陆舰'}) return n

注:根据where语句来查询,第二种查询方法也可。

删除节点

MATCH (r) WHERE id(r) = 8946 DELETE r RETURN r

注:根据节点的id进行删除。

查两个节点

match(n:两栖作战舰艇{name:'“鹿特丹/加里西亚”级两栖登陆舰'}),(m:中程空对舰导弹{name:'X-31'}) return n,m

添加关系

match(n:两栖作战舰艇{name:'“鹿特丹/加里西亚”级两栖登陆舰'}),(m:中程空对舰导弹{name:'X-31'}) create(m)-[r:打击]->(n) return n,m

注:先确定两个节点,再给两个节点添加打击关系。

删除关系

match(n:两栖作战舰艇)-[r:属于]-(m:中程空对舰导弹) where id(n)=3019 and id(m)=6815 detach delete r return n,m

注:删除指定两个节点的指定关系

查询关系

match(n:两栖作战舰艇{name:'“鹿特丹/加里西亚”级两栖登陆舰'})-[r]-(m:中程空对舰导弹{name:'X-31'}) return r

match(n:两栖作战舰艇{name:'“鹿特丹/加里西亚”级两栖登陆舰'})-[r]-(m:中程空对舰导弹{name:'X-31'}) return r.type

注:查询两个节点的关系,第二个更好用。

删除两个节点中重复的关系

MATCH (a)-[r:has_test_rel]->(b)
WITH a, b, TAIL (COLLECT (r)) as rr
WHERE size(rr)>0
FOREACH (r IN rr | DELETE r)

复合查询

with语句给cypher提供了强大的pipeline能力,可以一个或者query的输出,或者下一个query的输入 和return语句非常类似,唯一不同的是,with的每一个结果,必须使用别名标识。
见上

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值