2017-05-02 118 views
-3

假設我有這個模型的Neo4j:Neo4j的暗號爲所有子節點

  (n2) -> (n3)-> (n9) 
      /\ 
      | 
    (n4)<-(n1)->(n5)->(n6) 
    |   | 
    \/   \/ 
    (n7)   (n8) 

我需要兩個cyphers, 1-由數排序直接孩子的數量在所有節點的屬性,像這樣:

node count 
n1  3 
n5  2 
n2  1 
n3  1 
n4  1 
n6  0 
n7  0 
n8  0 
n9  0 

2 - 他們所有的孩子和孫子們通過數排序的所有節點,這樣的事情:

node count 
    n1  8 
    n2  2 
    n5  2 
    n3  1 
    n4  1 
    n6  0 
    n7  0 
    n8  0 
    n9  0 
+0

爲什麼下跌票? –

回答

2

如果你想獲得兒童的只算回來。

MATCH (n:Node) 
RETURN n,size((n)-[:CHILD]->()) as count order by count desc 

如果你想得到兒童和孫子女的數量。

MATCH (n:Node) 
RETURN n,size((n)-[:CHILD*1..2]->()) as count order by count desc 

你也可以找回只有孫子女的人數。

MATCH (n:Node) 
RETURN n,size((n)-[:CHILD*2..2]->()) as count order by count desc 
相關問題