【问题标题】:Cypher foreach does not appear to iterate over collection when creating unique创建唯一的时,Cypher foreach 似乎不会迭代集合
【发布时间】:2013-03-12 09:14:24
【问题描述】:

对于以下查询:

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)

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    我今天在更新日志中注意到这是一个错误,并已在最新的 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

    【讨论】:

    • 我认为它不会被向后移植到 1.8.x,抱歉 Luanne。
    • 没问题,现在拆分查询。
    猜你喜欢
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-19
    • 1970-01-01
    • 2018-11-18
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多