如何在cypher neo4j中对关系进行分组和统计

时间:2014-12-17 23:16:58

标签: neo4j cypher

如何快速计算一个人发布的“帖子”数量,并在密码查询中按人分组?

基本上我有消息标签节点和发布(关系)这些消息的用户。我想计算每个用户发布的消息数量。

按发件人ID分组邮件,并计算每个用户的邮件数。

这是我到目前为止所拥有的......

START n=node(*) MATCH (u:User)-[r:Posted]->(m:Message)
RETURN u, r, count(r)
ORDER BY count(r)
LIMIT 10

1 个答案:

答案 0 :(得分:10)

这个怎么样?

MATCH (u:User)-[r:POSTED]->(m:Message)
RETURN id(u), count(m)
ORDER BY count(m)

您是否有机会查看当前的参考卡?

https://neo4j.com/docs/cypher-refcard/current/

编辑:

假设关系:POSTED仅用于帖子,那么人们可以做这样的事情

MATCH (u:User {name: 'my user'})
RETURN u, size((u)-[:POSTED]->())

这显着便宜,因为它不会强制遍历实际的Message