0

我有一个复杂的密码查询,它创建多个节点并在这些节点上增加一些计数器。例如,这里是我正在尝试做的简化版本:

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 语句,但我不能。

我最初的想法是将不同的创建分成一个批处理查询,但是我想知道是否还有其他选择。

4

1 回答 1

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
于 2013-08-07T20:20:45.073 回答