本文介绍了在neo4j中使用MATCH过滤时如何获取节点的程度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个具有4个等级的图表.使用MATCH
进行过滤时,如何获取节点的度"?我总是得到1的学位".
I have a graph with 4 levels. While filtering using MATCH
, how can i get the "degree" of a node? I am always getting a "degree" of 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;
推荐答案
您之所以得到1,是因为您汇总了路径.
You are getting count of 1 because you aggregated over all 3, start-node, end-node, and all relationships in the path.
这是最有效的方法.
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;
这篇关于在neo4j中使用MATCH过滤时如何获取节点的程度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!