当前位置:  开发笔记 > 编程语言 > 正文

通过合并更新关系

如何解决《通过合并更新关系》经验,为你挑选了1个好方法。

我正在使用该MERGE功能来创建或更新节点,并在它们之间创建关系,如下所示:

MATCH (p:Part{f:'fff'})
MERGE (m:Item {p1: {map}.p1})
ON CREATE SET m = {map}
ON MATCH SET m += {map}
MERGE (m)-[:USED_WITH{pri:'High'}]->(p)

但是,当我重新运行此文件,但pri在随后的运行中更改属性时,会创建一个新的关系。我想要的是要更新原始关系。

最佳做法是什么?



1> albertoperdo..:

MERGE 确保模式与描述的完全一样,包括属性和值,并否则创建一个新模式。

当您更改pri模式中的属性值时,Cypher找不到该模式的匹配项,因为属性值不同,因此会创建新的关系。

您可以MERGE对关系类型使用,然后使用SET更新属性值:

MERGE (m)-[r:USED_WITH]->(p)
SET r.pri = "Low"

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有