创建或更新唯一的子图

时间:2016-03-17 15:31:37

标签: neo4j cypher

我有一系列节点和关系。节点和关系都具有uuid属性。它本质上是一个子图。

我希望执行以下操作,最好是在单个cypher命令中执行。

  • 如果节点由uuid存在,我想更新节点属性
  • 如果uuid不存在该节点,我想创建一个具有属性的新节点
  • 如果uuid存在关系,我想更新其属性
  • 如果uuid不存在关系,我想建立新关系

谢谢!

1 个答案:

答案 0 :(得分:1)

所有要求均通过MERGE条款解决:

MERGE (n:Node {uuid: {uuid} })
SET n += {properties}
MERGE (n2:Node {uuid: {uuid2} })
SET n += {properties2}
MERGE (n)-[r:RELATES {uuid: {relUuid} }]->(n2)
SET n += {relProperties}

您还可以使用属于ON CREATE条款的ON MATCHMERGE

相关问题