2016-07-22 8 views
0

Kann mir jemand helfen, den am meisten verbundenen Knoten eines bestimmten Beziehungstyps in neo4j zu finden, indem ich die Abfrage nach einem Schlüssel verwende.Wie findet man den am meisten verbundenen Knoten eines bestimmten Beziehungstyps in neo4j mit Hilfe einer Abfrage?

Angenommen, ich habe

Node1           Knoten2         Beziehung
A                         B                         folgt
EINES                         C                         folgt
B                         D                         folgt

A                         D                         folgt

Hier Knoten D die meisten verbunden node.of besondere Beziehung Typ "Follows" .so wie ist es, diesen Knoten mit Chiffre-Abfrage zu finden?

Vielen Dank im Voraus


(Edit): fand ich meine Antwort tnx Martin Preusse

MATCH (n)<-[r:FOLLOWS]-() 
    RETURN n, count(r) AS num 
    ORDER BY num desc 

Antwort

2

diese versuchen, wenn die Richtung der Beziehung Angelegenheiten (nur A zurückkehren und B):

MATCH (n)-[r:follows]->() 
RETURN n, count(r) AS num 
ORDER BY num 

Oder dies, wenn Sie die Richtung nicht benötigen (d. H. der Knoten D wird auch) zurückgegeben:

MATCH (n)-[r:follows]-() 
RETURN n, count(DISTINCT r) AS num 
ORDER BY num 
+0

Thanks @ martin-Preusse, aber wie kann ich den Knoten D finden, die –

+0

von A und B folgt Wenn die Richtung spielt keine Rolle, Sie die zweite Abfrage aus der Nutzung kann aktualisieren. –

+0

Ich glaube nicht, dass Sie 'DISTINCT' im zweiten Fall hinzufügen müssen, es würde bedeuten, dass Sie die Beziehung zweimal in der gleichen" Richtung "erhalten und zweimal für einen Knoten und keine Zeit für den anderen Knoten gezählt werden können , dh die Ergebnisse wären falsch. –