私は NEO4J を初めて使用し、特定の問題について助けが必要です。または、可能であれば答えます。
セットアップ: ユーザー (A、B、C、D) と製品 (1、2、3、4、5、6、7、8) の 2 つの異なるタイプのノードがあります。次に、ユーザーとユーザーの間に 2 つの異なるタイプの関係があります。ユーザーが製品を望んでおり、製品がユーザーによって所有されている製品。
- 1,2 は A が所有
- 3,4 は B が所有
- 5,6 は C が所有
- 7,8 は D が所有
今
- Bは1を望んでいます
- Cは3を望んでいます
- Dは5を望んでいます
というわけで今のところ問題なく、グラフデータも問題なく作成できています。私の質問はここから始まります。A が製品 8 を欲しがっている場合、円があります。
A-[:WANTS]->8-[:OWNEDBY]->D-[:WANTS]->5-[:OWNEDBY]->C-[:WANTS]->3-[:OWNEDBY]->B- [:WANTS]->1-[:OWNEDBY]->A
したがって、U-[:WANTS]->P-[:OWNEDBY]->U という明確なパターンがあります。
今私がやりたいことは、そのパターンに従って、開始ノード (製品を必要とする開始ユーザー) へのパスを見つけることです。Cypher を使用してこれを定義するにはどうすればよいですか? それとも別の方法が必要ですか?
ありがとうございます。