関数MATCH
内でパターンを使用することは何とか可能ですか (v1.8 を使用)?ALL
私がやろうとしていることは次のとおりです: I am MATCH
ing a path p = (a)-->(b)-->(c)-->(d)
. ただし、このパスに沿ったすべてのノードには、r
何らかのノードからの追加の着信関係が必要です。これをASCIIで明確にしてみましょう:
(a)-->(b)-->(c)-->(d)
^ ^ ^
|r |r |r
( ) ( ) ( )
そのために何らかの方法でALL
関数を使用できますか、それとも次のような追加のMATCH
パターンを追加する必要がありますか?
START ...
MATCH (a)-->(b)-->(c)-->(d)..., ()-[:r]->(b), ()-[:r]->(c), ...
RETURN ...
アップデート:
以下は、Neo4j コンソールでの例です。
START n=node(0)
CREATE (a), (b), (c), (d), (e),
n-[:rel1]->a, n-[:rel1]->b, n-[:rel1]->d, n-[:rel1]->e,
a-[:rel2]->b-[:rel3]->d, a-[:rel2]->c-[:rel3]->e
START n=node(0)
MATCH n -[:rel1]-> x -[:rel2]-> y -[:rel3]-> z, ()-[:rel1]->y, ()-[:rel1]->z
RETURN z