我有一个4级图表。使用MATCH
进行过滤时,如何获得节点的“度”?我总是获得1的“学位”。
这是我的问题:
MATCH (k)-[r*]->(n:ABC)
WITH k,r,n,count(k) as degree
WHERE k.Value='30 ' AND degree > 1
RETURN n,r,k,degree;
答案 0 :(得分:8)
您的计数为1,因为您聚合了路径中的所有3个,起始节点,终端节点和所有关系。
这是最有效的方式。
MATCH (k)
WITH k, size((k)-[:TYPE]->()) as degree
WHERE k.Value='30 ' AND degree > 1
MATCH (k)-[r:TYPE]->(n:ABC)
RETURN n,r,k,degree;
答案 1 :(得分:1)
更多信息会有所帮助,但一般来说,你可以通过以下方式获得节点的程度:
MATCH (n)--(other)
WHERE n.id = {id}
RETURN count(other)
如果要查找许多节点的度数,可以省略WHERE
或指定更通用的查询:
MATCH (n)--(other)
WHERE n.property = {value}
RETURN n, count(other)