2015-08-18 49 views
2

此查詢不會返回任何沒有關注者的用戶。Neo4j計數零關係?

MATCH (:USER)-[f:FOLLOWS]->(u:USER) 
RETURN u.name, count(f) 

我該如何返回這裏的所有用戶以及0跟在沒有邊的那些?

+0

添加了更快的變體 –

回答

2

要匹配(:User)也當沒有[:FOLLOWS]時,您必須將關係設爲可選。

MATCH (u:User) 
OPTIONAL MATCH u-[f:FOLLOWS]->(:User) 
RETURN u.name, count(f) 
1

這會更快:

MATCH (u:User) 
RETURN u.name, 
     size((u)-[:FOLLOWS]->()) as following, 
     size((u)<-[:FOLLOWS]-()) as followers; 

,因爲它使用的getDegree函數內部檢索的數量關係。