私はこのようなグラフを持っています
(user)->[:Comments]->(comment)->[:Comments]->(comment)->[:Comments]->(comment)->(user)
基本的には、ユーザーが作成したコメントの循環リンク リストです。リストは一周し、最終的にユーザーに戻ります。cypher を使用してすべてのコメントを取得するにはどうすればよいですか?
これを試してみると、少し複雑に見えますが、とにかくここにあります。
最後のコメントからユーザーへの関係が :Comments であると仮定します
つまり、代わりに..->(comment)->(user)
私は仮定した..->(comment)-[:Comments]->(user)
START n=node(1)
MATCH n-[:Comments*0..]->(c)
WHERE c<>n
WITH collect(c) AS allComments,n
WITH last(allComments) AS lastcomment,n,allComments
WHERE lastcomment-[:Comments]->n
RETURN allComments
最後のコメント->ユーザー関係がコメントであるため、WHERE c<>n を入力する必要がありました。それ以外の場合は、これは必要ありません (チェーンの最後のコメントを選択するだけです)。また、コレクションを返します。
http://console.neo4j.org/r/17d1fy
賭け @Wes Freeman はより優れたソリューションを持っています