diese Beziehung gegeben:Freunde finden mit 2 gemeinsamen Freunden in Neo4j
(p1: PERSON) - [: FREUND] -> (p2: PERSON)
ist es eine Möglichkeit, Paare von Menschen zu finden, zB . (p1, p2) Wer hat 2 oder mehr Freunde gemeinsam?
diese Beziehung gegeben:Freunde finden mit 2 gemeinsamen Freunden in Neo4j
(p1: PERSON) - [: FREUND] -> (p2: PERSON)
ist es eine Möglichkeit, Paare von Menschen zu finden, zB . (p1, p2) Wer hat 2 oder mehr Freunde gemeinsam?
Dies sollte es tun:
MATCH (p1:PERSON)-[:FRIEND]-(friend:PERSON)-[:FRIEND]-(p2:PERSON)
WITH p1, p2, count(friend) AS friend_count
WHERE friend_count >= 2
RETURN p1, p2, friend_count
Aber denken Sie daran, dass dies ein cartesean Produkt Ihrer PERSON
Knoten sein, um die Sammlung wächst, wird die Abfrage bei jeder Kombination von jedem Paar suchen von Leuten. Das ist in Ordnung, solange Sie sich nicht darum kümmern, diese Abfrage häufig auszuführen/schnell auszuführen.
Beachten Sie auch, dass der übliche Stil für Etiketten UpperCamelCase
ist. Sehen Sie dies für einen ziemlich guten Style Guide:
dies nicht funktioniert. Ich sehe diesen Fehler: Ungültige Eingabe 'H': erwartet 'i/I' (Zeile 3, Spalte 2 (Offset: 114)) –
die erste "Rückkehr" muss ein "mit" sein –
Richtig, danke Tim! Versuchen Sie das Navin –