2 백만 노드가 넘는 그래프 데이터베이스가 있습니다. 소셜 그래프를 사용하고 그것에 대한 추론을하는 어플리케이션이 있습니다. 알고리즘의 한 걸음으로 두 개의 연결된 노드의 관계 [: friends]를 가능한 한 모두 조합해야합니다. 현재 다음과 같은 쿼리가 있습니다 : (a) - [: friend] - (c), (b) - [: friend] - (d) 여기서 id (a) = {ida} 및 id (b)) = {IDB는} 난 이미 노드 a
및 b
을 알고 난 a
및 b
의 친구에서 할 수있는 모든 가능한 쌍을 얻고 싶은, 그래서 두 번째neo4j 데카르트 제품 성능 향상
같은 D, 첫째로 구분 C를 반환합니다. 이것은 분명히 매우 느린 작업입니다. neo4j에서 동일한 결과를 얻는보다 효율적인 방법이 있는지 궁금합니다. 인덱스를 추가하면 도움이 될까요? 어떤 아이디어/단서도 환영합니다!
예 노드 a
친구 가지고 x
가 y
노드 b
친구 가지고, i`` Then the result should be:
X ,
g
X ,
H g
, h
을
X ,
I
Y ,
g
Y ,
H
Y ,
I '
답장을 보내 주셔서 감사합니다. 왜 이것이 도움이 될지 설명해 주시겠습니까? 평균 친구 수에 대해서는 잘 모르지만 크게 다릅니다. 극소수 (10 미만)에서 수백 또는 심지어 수천에 이릅니다. –