Neo4j的暗号为所有子节点
问题描述:
假设我有这个模型的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
答
如果你想获得儿童的只算回来。
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
为什么下跌票? –