按关系类型获取给定节点的top(n)节点

时间:2014-01-07 22:11:42

标签: neo4j cypher

我正在尝试检索给定节点最频繁通信的人员列表,包括关系类型。以下查询返回关系类型和关系的总计数。

START n=node(3) 
MATCH n-[r]-() 
RETURN type(r), count(*)

结果看起来像这样:

Type:   Count:
SENT    1000
TO      345
CC      23

我想扩展此查询以返回以下结果

Name:    Type:    Count:
John     TO       55
Mike     TO       40

这甚至可能吗?如果是这样,我需要更改/添加到我的查询以获得我想要的结果?

亲切的问候, 马亭

1 个答案:

答案 0 :(得分:2)

似乎不是那么难......

以下查询返回我想要的结果

START n=node(3) 
MATCH (n)<-[r]-(x)
WITH x
MATCH (x)-[r]->(y)
RETURN y.name AS name, y.address AS address, type(r) AS relationship, count(*) AS counter
ORDER BY counter DESC LIMIT 10

希望它会帮助别人!