neo4j如果节点存在,则创建具有属性的节点或设置节点属性

时间:2016-07-04 06:15:18

标签: neo4j cypher

我正在尝试基于属性创建新节点和更新节点,如果节点已经存在,我的查询正在正确创建节点但在节点已经存在时更新节点属性,下面是我的密码查询

MERGE (n:CourseCluster {mysql_coursecluster_id:"2"})
ON CREATE SET n.Name = "pavan", n.Comments = "pavan reddy" return n

1 个答案:

答案 0 :(得分:1)

您可以分别使用MERGE两个子句:

  • ON CREATE:在创建节点时执行操作
  • ON MATCH:在节点已存在时执行操作

在你的情况下:

MERGE (n:CourseCluster {mysql_coursecluster_id:"2"})
ON CREATE SET n.Name = "pavan", n.Comments = "pavan reddy"
ON MATCH SET n.Name = "pavan", n.Comments = "other comment"

如果在ON CREATEON MATCH之间没有设置属性的差异,您可以省略它们:

MERGE (n:CourseCluster {mysql_coursecluster_id:"2"})
SET n.xx = ...