Neo4j 在创建唯一时,Cypher foreach似乎不会在集合上迭代

Neo4j 在创建唯一时,Cypher foreach似乎不会在集合上迭代,neo4j,cypher,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) 我希望朋友是莫菲斯和三位一体,所以从尼奥到莫菲斯,从尼奥到三位一体,一种新的朋友关系被创造出来。

对于以下查询:

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) 我希望朋友是莫菲斯和三位一体,所以从尼奥到莫菲斯,从尼奥到三位一体,一种新的朋友关系被创造出来。 但是,在执行查询时,只创建了一个关系(Neo-[:FRIEND]->Morpheus)。 再次执行查询并创建另一个关系(Neo-[:FRIEND]->Trinity)


为什么呢?(使用Neo4j 1.8.2)

我今天在变更日志中注意到这是一个bug,在最新的1.9.M05版本中已经修复<代码>修复程序#489-在FOREACH内部创建唯一性无法按预期工作


更多信息,请访问

我不认为它会被后传到1.8.x,很抱歉,Luane。没问题,现在拆分查询。