2 つの関係を探しているときにこのクエリを作成する方法を見つけましたが、クエリにさらに関係を追加する方法がわかりません。
「読者」と「本」をノードとするブック クラブ データベースがあるとします。「本」ノードには「ジャンル」属性があります (本がフィクション、ノンフィクション、バイオグラフィー、リファレンスなどであることを定義するため)。「読者」ノードと「本」ノードの間には関係「HasRead」があります。誰かが特定の本を読んだ。
フィクションとノンフィクションの両方の本を読んだ読者を見つけたい場合は、次の Cypher クエリを実行できます。
Start b1=node:MyBookIndex('Genre:Fiction'),
b2=node:MyBookIndex('Genre:Non-Fiction')
Match b1-[:HadRead]-r-[:HasRead]-b2
Return r.ReaderName
上記のクエリの鍵はr
、'reader' ノードのエイリアスにフィードする 2 つの book エイリアスを持つ Match 句です。
質問: フィクションANDノンフィクションAND参考書を読んだことがあるユーザーを検索するには、どのようにクエリを作成すればよいですか? 探しているものが 2 つ以上ある場合に Match 句をどのように記述するかについて、私は行き詰っています。