neo4j でいくつかのノードとリレーションを作成しましたが、cypher でクエリを実行したいと考えています。以下のように詳しく説明しています。
UserID UserName
------ --------
1 UserA
2 UserB
3 UserC
4 UserD
5 UserE
6 UserF
ノード間の関係は次のとおりです。
UserID FriendID ApprovalStatus (1.Request Accepted, 2.Request Pending)
------ -------- ------------------------------------------------------
1 2 1
1 3 2
1 6 2
2 3 1
2 4 1
2 5 2
3 6 1
3 5 2
私のログイン ユーザーはノード 1 (例: UserA) で、ノードから検索しようとしています。私はneo4jからこの結果を期待しています。
Record # UserID UserName MutualCount ApprovalStatus
-------- ------ -------- --------------- --------------
1 2 UserB 1 (eg. node 3) 1
2 3 Userc 0 2
3 4 UserD 0 null
4 5 UserE 0 null
5 6 UserF 0 2
次の点を確認してください。 レコード # 1 : Node3 (UserC) は、両方のノードで ApprovalStatus=1 であるため、Node1 と Node2 の間で相互です。
レコード # 2 :
node1 と node3 の間に相互関係はなく、ApprovalStatus = 2 は、Node1 が node3 に要求を送信したが、まだ保留中であるためです。
レコード #3 :
レコード #2 と同じ状況
レコード # 4 & 5:ノード 1 とノード 4
の間に相互関係はなく、ApprovalStatus = null は、ノード 1 がノード 4 とノード 5 に要求を送信したことがないためです。
ここにダミーデータを作成しました
したがって、クエリをテストできます。過去 10 ~ 15 日間でこの結果を得ようとしていますが、成功しません。この結果を達成する方法はありますか。
ありがとう。