【发布时间】:2024-05-29 19:20:02
【问题描述】:
我正在将一个数据集聚合到 neo4j 图形中,并使用 py2neo 为它编写了一个 python 脚本,我通过它执行密码查询。
假设我有一个类型为“item”的节点,其属性为“type”和“count”,假设我有 5 种不同类型的项目。
我的脚本遍历数据集,这就是它的作用:
- 检查该类型的“item”节点是否存在。
- (a) 如果存在,则提取其“计数”,将其增加 1 并更新属性值 (b) 如果不存在,则创建当前“类型”的“项目”节点,并为其分配“计数”为 1。 直到现在我还没有使用 MERGE。
我知道单独的步骤 1 和 2(b) 可以使用 MERGE 合并。这意味着 cypher 将检查模式
(n:item{type:"detergent", count:1})
如果它不存在,将创建。
我想从密码大师那里知道的是,我可以使用 MERGE 来更新属性值吗? 具体来说,如果对数据集进行了 10 次迭代,如果洗涤剂的计数变为 4,那么从我现在使用的程序中,我是否可以替换该程序以使用 MERGE 以便解决以下目的:
1) 如果去污剂出现在迭代中,如果去污剂的节点不存在,cypher 应该为去污剂创建一个计数为 1 的节点。
2) 如果去污剂出现在迭代中,如果去污剂的节点已经存在,cypher 应该将计数属性增加 1。
【问题讨论】: