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。没问题,现在拆分查询。