나는이 사이퍼 쿼리를 가지고 : 13 개 Email
노드와 10 개 Phone
노드 그러나 : 나는 결과가 노드를 반환 할 때Neo4j의 속성을 반환하면 예기치 않은 결과가 발생하는 이유는 무엇입니까?
match (c:Person)
match (c)-[:eml]->(emls:Email)
match (c)-[:phn]->(phns:Phone)
return phns.Number, emls.Value
수 Email
의 노드는 Phone
노드 (10)
이며, 13 나는 재산을 돌려 보낸다 : phones.Number
, 나는 130 개의 중복 된 결과를 얻는다. (그 숫자는 13 * 10에서왔다.)
문제는 완전히 명확하지 않습니다. 첫째, 당신은 당신의 그래프에 한명의 사람이 있습니까? 둘째, 결과의 수를 어디에서 계산합니까? 시각화보기 ("그래프")는 "중복"을 제거하지만 표 ("행")로 이동하면 볼 수 있습니다. 여기 간단한 예제를 만들었습니다. https://gist.github.com/szarnyasg/62229f46e81b4a2dd58a5ea26017e561 - 필요에 맞게 조정하여 질문에 추가하십시오. –
귀하의 의견에 많은 감사드립니다. 데이터베이스에 여러 개의 '사람이 있습니다. 내가 목적을 테스트하기 위해 그 노드의 숫자를 입력했기 때문에 나는 카운트를 알고있다 –