2017-08-29 3 views
2

ich die unten Abfrage für "In Degree" erfolgreich nutzen konnte:In Degree und Out-Abschluss in einer einzigen Abfrage Berechnung

match a=(p:Person)-->(q:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}) 
RETURN count(a) as In_Degree 

ich verwenden könnte, die unter Abfrage für "Out Degree" erfolgreich:

match a=(p:Person)<--(q:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}) 
RETURN count(a) as Out_Degree 

Aber wenn ich beide klicke und schreibe die Abfrage wie folgt, dann gibt Cypher das Ergebnis von "Out Degree".

match a=(p:Person)-->(q:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}),b=(r:Person)<--(s:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}) 
RETURN count(a) as In_Degree, count(b) as Out_Degree 

Fehle ich hier etwas? Könnte mir bitte jemand damit helfen?

Antwort

2

Können Sie diese Abfrage versuchen:

MATCH (p:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}) 
RETURN size((p)<--(:Person)) AS In_Degree, size((p)-->(:Person)) AS Out_Degree 

Beifall.

+0

Danke für die Antwort. Ich verstehe, dass die Größe funktioniert hat, aber darf ich die Begrenzung von "count" hier wissen? Zählt "zählen" nicht zum Zählen der Muster? – user8494391

+1

count ist eine Aggregatfunktion. In Ihrer Abfrage führen Sie nacheinander zwei Aggregationen durch (und in der Chiffre gibt es keine Gruppe, sondern die Reihenfolge). – logisima

Verwandte Themen