2017-05-02 83 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 
相关问题