2

对于以下查询:

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)

4

1 回答 1

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

于 2013-03-12T14:12:58.950 回答