1

私はneo4jを使用していますが、nameとidの2つのプロパティを持つノードがあります。idにインデックスがあります。プロパティ「by_test」との関係は「CALL」です。このプロパティは異なる値(任意のノードのID)を取ることができます。

2つのノードは、by_testプロパティ値が異なる複数のCALL関係を持つことができます。

したがって、同じCALL.by_testプロパティ値によってリンクされた1..Nノードがあるとします。

ノード1->ノード2->ノード3->..->ノードN

  • これらすべてのノードを取得するにはどうすればよいですか?

    1. 関係にインデックスを付ける必要がありますか?

    2. 動的な関係を作成する必要がありますか?CALL.by_test = valueの代わりに、usevalueには関係があります。

ありがとう!

4

1 に答える 1

1

Cypher を使用すると、次のようにそのリストを照会できます。

START n=node:node_auto_index(name="one") 
MATCH p=(n)-[r:CALL*1..]->(m)
WHERE ALL(x in r WHERE x.by_test = 3)
RETURN n,m

では、用語を関係にMATCHバインドし、それを節で使用してそれぞれのプロパティを確認します。rCALLWHEREby_test

Michael Hunger が指摘したように、rは関係のコレクションであるため、WHEREを使用ALLして各関係を確認する必要があります。

于 2012-07-28T13:54:14.073 に答える