Cypher foreach在创建唯一时似乎不会迭代收集

时间:2013-03-12 09:14:25

标签: neo4j cypher

对于以下查询:

START n=node(1) 
MATCH (n)-[:KNOWS]->(k), (n)-[:LOVES]->(l)
WITH collect(k) + collect(l) as friends, n
FOREACH(f in friends : create unique (n)-[:FRIEND]->(f))

(数据与console.neo4j.org相同) 我希望朋友们是Morpheus和Trinity,所以从Neo到Morpheus和Neo到Trinity创造了一个新的FRIEND关系。 但是,在执行查询时,只创建了一个关系(Neo - [:FRIEND] - > Morpheus)。 再次执行查询并创建另一个关系(Neo - [:FRIEND] - > Trinity)

为什么? (使用Neo4j 1.8.2)

1 个答案:

答案 0 :(得分:3)

我今天在更新日志中注意到这是一个错误,并已在最新的1.9.M05版本中修复。 Fixes #489 - CREATE UNIQUE does not work as expected inside FOREACH

更多https://github.com/neo4j/neo4j/blob/master/packaging/standalone/standalone-enterprise/src/main/distribution/text/enterprise/CHANGES.txt