首页 > 解决方案 > neo4j 如何按节点计算不同的关系组?

问题描述

我有一个节点User (properties: uid, name)和关系的图表数据库Invitation (properties: invitation_id, invitation_time)

这种关系是在一个用户邀请其他用户时建立的。这意味着每次一个用户邀请时,都会在他和他邀请的用户之间建立相同的关系。

我想计算每个用户的唯一邀请。我的密码查询是:

match (u:User)-[r:Invitation]->()
return u, count(distinct r)
order by count(distinct r) desc

这个查询并没有满足我的期望,而是没有删除重复项。那么正确的查询应该是什么?

标签: neo4j

解决方案


发布问题后,我自己得到了答案:

match (u:User)-[r:Invitation]->()
return u, count(distinct r.invitation_id)
order by count(distinct r.invitation_id) desc

推荐阅读