Neo4j - 统计不同节点数

13

我有以下这些关系:

(:User)<-[:MENTIONS]-(:Tweet)-[:ABOUT]->(:Topic)

我可以帮您计算有关某个主题的推文中提到的所有用户。
使用以下查询:
match (n:Topic)<--(t:Tweet)-[:MENTIONS]->(u:User) 
where n.name='politics'
return distinct count(u)

我所得到的仅仅是关系数。

我想要得到的是被提及用户的数量(如果同一个用户被多次提及则不重复计算)。 这是否有可能?


你忘记了 [:ABOUT] 的关系吗? - Bruno Peres
1
在这种情况下,它是推文和主题之间唯一的关系,因此它并不重要。 - sirdan
1个回答

20
尝试在count函数中使用distinct,像这样:
match (n:Topic)<-[:ABOUT]-(t:Tweet)-[:MENTIONS]->(u:User) 
where n.name='politics'
return count(distinct u)

1
@sirdan 您好!如果这个答案解决了您的问题,请考虑通过点击勾选标记 accepting it 来接受它。这将向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己赢得了一些声誉。当然,这并非强制要求。 - Bruno Peres
1
当然,我接受了。我等了几分钟,因为系统不允许我在10分钟之前接受它。 - sirdan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接