我有一个复杂的密码查询,它创建多个节点并增加这些节点上的一些计数器。为了便于举例,这里是我想要做的简化版本:
START a = node(1), e = node(2)
CREATE a-[r1]->(b {})-[r2]->(c {}), e-[r3]->b-[r4]->(d{})
SET a.first=a.first+1, e.second=e.second+1
RETURN b
问题是因为有两个CREATE命令,SET命令运行两次,并且值按预期递增2而不是1。我已经看过是否可以合并多个CREATE语句而我不能。
我最初的想法是将不同的创建分离为批量查询,但我想知道是否还有其他选项。
答案 0 :(得分:1)
您在哪里执行此查询?您使用的是什么版本的neo4j?
我去了console.neo4j.org并成功运行了以下内容,它正确地在a.first和e.second中添加了一个:
START a = node(1), e = node(2)
CREATE a-[r:KNOWS]->b-[r2:KNOWS]->c, e-[:KNOWS]->b-[:KNOWS]->d
SET a.first=a.first+1, e.second=e.second+1
RETURN b