我有一个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;
Run Code Online (Sandbox Code Playgroud)
您的计数为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;
Run Code Online (Sandbox Code Playgroud)
更多信息会很有帮助,但一般来说,您可以通过执行以下操作来获取节点的度数:
MATCH (n)--(other)
WHERE n.id = {id}
RETURN count(other)
Run Code Online (Sandbox Code Playgroud)
如果您想查找许多节点的度数,您可以省略WHERE或指定更通用的查询:
MATCH (n)--(other)
WHERE n.property = {value}
RETURN n, count(other)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4520 次 |
| 最近记录: |