Neo4j:合并时不覆盖节点属性

Neo4j:合并时不覆盖节点属性,neo4j,cypher,Neo4j,Cypher,我想修改合并密码查询,以便不覆盖属性字段 要更新节点属性,我使用以下cypher查询: MERGE(n:Person{name:“me”}) 在匹配集n+={id:“2”} 在创建集合n={name:“me”,id=“1”} 返回n 如果我再次调用相同的查询 匹配集n+={id:“3”}上的 id将被更新 如何进行一个查询,如果属性不存在,则添加该属性,但如果属性已经存在,则不覆盖该属性?首先,您可以使用普通属性,无需执行{map} 其次,在合并创建节点的情况下,节点上已经有属性名:me: ME

我想修改合并密码查询,以便不覆盖属性字段

要更新节点属性,我使用以下cypher查询:

MERGE(n:Person{name:“me”})
在匹配集n+={id:“2”}
在创建集合n={name:“me”,id=“1”}
返回n

如果我再次调用相同的查询 匹配集n+={id:“3”}上的
id将被更新


如何进行一个查询,如果属性不存在,则添加该属性,但如果属性已经存在,则不覆盖该属性?

首先,您可以使用普通属性,无需执行{map}

其次,在合并创建节点的情况下,节点上已经有属性名:me:

MERGE (n:Person {name:'me'})
ON MATCH SET n.id = 2
ON CREATE SET n.id = 1
RETURN n