neo4j에서 일부 노드와 관계를 만들고 cypher를 사용하여 쿼리하려고합니다. 나는 그것에 대해 아래에 더 설명하고있다.Neo4j - 상호 개수가있는 목록 검색
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 (. 예를 들어, 사용자 A)이며, 노드에서 검색하려고 다음과 같이
UserID UserName
------ --------
1 UserA
2 UserB
3 UserC
4 UserD
5 UserE
6 UserF
와 노드 사이의 관계
이다. 나는 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 : 노드 3 (UserC에게)은이 두 노드로 승인 여부 = 1을 가지고 있기 때문에와 노드 1 & 노드 2 사이의 상호입니다. 노드 1 & 노드 3 사이에 상호 없다
및 승인 여부 = 2 노드 1은 노드 3에 요청을 전송했지만 아직 보류중인 때문에 :
기록 # 2.
기록 # 3 : 2
기록 # 4 & 5 녹음 #에서 언급 한 바와 같이
같은 상황 : 여기
이 사이에 상호 없습니다 노드 1 & 노드 4, 및 승인 여부 = null이 노드 1은에 요청을 보낸 적이 있기 때문에 node4 & node5.
나는 그래서, 당신은 쿼리를 테스트 할 수 있습니다 here
에 대한 몇 가지 더미 데이터를 만들었습니다. 지난 10-15 일 동안이 결과를 얻으려고하지만 성공하지 못합니다. 이 결과를 얻을 수있는 방법이 있습니까?
감사합니다.
당신은 '수용'에 대한 서로 다른 관계 유형을 사용하여 '대기'때 문제를 단순화 할 수 없습니다이 경우 다음과 같은 쿼리에서 WHERE 절을 드롭 수 ? 관계가 수락되면 '보류 중'을 제거하고 새로운 '수락'을 작성하십시오. –
안녕하세요 @ 스 테판 암 브리 스터, 가능합니다. 분명히 할 것입니다. 비록 내가 원하는 결과를 얻는가? –