質問

cypherで次のようなことをしたいです。

MATCH (n:node) WHERE n.ID = x        //x is an integer value
FOREACH (num in n.IDs: 
    MATCH (p:node) WHERE p.ID = num
    CREATE (n)-[:LINK]->(p) )

どこ num 最初の行で一致したノードにリンクする必要があるノードの ID を参照する整数値の配列です。

このクエリを実行すると、次のエラーが発生します。 Invalid use of MATCH inside FOREACH.

私は Cypher と Neo4j の両方を独学で勉強する初期段階にあります。ここで希望の機能を実現するにはどうすればよいですか?それとも、私は間違った木に吠えているのでしょうか?そうする必要がない何かを理解できていないのでしょうか?

役に立ちましたか?

解決

これは許可されていません。代わりに次のようなトップレベルの MATCH を使用してください。 http://gist.neo4j.org/?8332363

MATCH (n:node), (p:node)
WHERE n.ID = 1 AND p.ID in [2,3,4]
CREATE (n)-[:LINK]->(p)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top