neo4j merge

merge可以看成是match和create的合体

在这里插入图片描述

merge 节点

1.找不到标签则创建

MERGE (robert:Critic)
RETURN robert, labels(robert)

2.找不到属性则创建

MERGE (charlie { name: 'Charlie Sheen', age: 10 })
RETURN charlie

3.找不到标签和属性则创建

MERGE (michael:Person { name: 'Michael Douglas' })
RETURN michael.name, michael.bornIn

5.根据已有的节点属性创建

MATCH (person:Person)
MERGE (city:City { name: person.bornIn })
RETURN person.name, person.bornIn, city

6.在创建的时候使用on create(在创建时进行一些操作)

MERGE (keanu:Person { name: 'Keanu Reeves' })
ON CREATE SET keanu.created = timestamp()
RETURN keanu.name, keanu.created

7.在创建的时候使用 on match

MERGE (person:Person)
ON MATCH SET person.found = TRUE RETURN person.name, person.found

8.同时使用on create 和 on match

MERGE (keanu:Person { name: 'Keanu Reeves' })
ON CREATE SET keanu.created = timestamp()
ON MATCH SET keanu.lastSeen = timestamp()
RETURN keanu.name, keanu.created, keanu.lastSeen

9.on match 设置多个属性

MERGE (person:Person)
ON MATCH SET person.found = TRUE , person.lastAccessed = timestamp()
RETURN person.name, person.found, person.lastAccessed

merge关系

MATCH (charlie:Person { name: 'Charlie Sheen' }),(wallStreet:Movie { title: 'Wall Street' })
MERGE (charlie)-[r:ACTED_IN]->(wallStreet)
RETURN charlie.name, type(r), wallStreet.title

参考文献:
https://neo4j.com/docs/developer-manual/3.4/cypher/clauses/merge/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值