如何使用cypher按方向和类型获取节点的程度

时间:2015-08-11 17:55:12

标签: neo4j cypher

具体而言,我正在寻找相当于[1]但使用Cypher的等价物。我想一种方法是使用

START n=node(43) MATCH (n)-[r:KNOWS|LIKES]->() RETURN n, count(r) AS degree

然而,在我的用例中,我需要获得(并使用)由于更复杂的查询导致的潜在的许多节点的度数,并且上述方法不能缩放。

[1] http://neo4j.com/docs/stable/rest-api-node-degree.html#rest-api-get-the-degree-of-a-node-by-direction-and-types

1 个答案:

答案 0 :(得分:0)

您是否关心仅限于KNOWSLIKES关系?

MATCH (n)-[r]->() WHERE ID(n) = 43 RETURN n, count(r) AS degree

但你必须有很多关系来使这不是规模。如果您使用ID,那么Cypher将直接进入节点,然后浏览它的关系。它不依赖于总节点/关系的数量,只取决于连接到节点的关系数量。

我不确定这是否能回答您的问题,但如果您对可扩展性有任何具体问题,请与我们联系。