本文介绍了在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过滤时如何获取节点的程度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 12:00