neo4j - Neo4j 中计算节点关系的问题

标签 neo4j twitter4j relationships

我有一个 Neo4j 数据库,其中存储主题标签和推文。 每条推文都有一个 topic 属性,它定义了它所属的主题。 如果我运行以下查询,我会获得数据库中最流行的主题标签,无论主题是什么:

MATCH (h:Hashtag)
RETURN h.text AS hashtag, size( (h)<--() ) AS degree ORDER BY degree DESC

我想获取单个主题最流行的标签。 我试过这个:

MATCH (h:Hashtag)<--(t:Tweet{topic:'test'})
RETURN h.text AS hashtag, size( (h)<--(t) ) AS degree ORDER BY degree DESC

这个

MATCH (h:Hashtag)
RETURN h.text AS hashtag, size( (h)<--(t:Tweet{topic:'test'}) ) AS degree ORDER BY degree DESC

而下一个需要永远运行

MATCH (h:Hashtag), (t:Tweet)
WHERE t.topic='test'
RETURN h.text AS hashtag, size( (h)<--(t) ) AS degree ORDER BY degree DESC

我该怎么办?谢谢。

最佳答案

在 Cypher 中,当您返回聚合函数的结果时,您会得到一个隐式“分组依据”,其中包含与聚合函数一起返回的任何内容。 SIZE() 不是聚合(因此您将获得每行的模式大小,无需分组/聚合),但 COUNT() 是:

MATCH (t:Tweet {topic:'test'})-->(h:Hashtag)
RETURN h, COUNT(*) AS num ORDER BY num DESC LIMIT 10

此查询是按 Hashtag 分组的 Tweet 节点计数。

关于neo4j - Neo4j 中计算节点关系的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45752771/

相关文章:

csv - 将 csv 导入到 Neo4j 缺失节点

neo4j - 在 py2neo 中搜索节点

java - 在Spring中为HighlyAvailableGraphDatabase(嵌入)配置Neo4j 1.9.3

android - 分享推文时 Twitter4j 崩溃

java - Twitter4J 抛出异常 java.lang.NoSuchMethodError :

安卓 Twitter4j 错误

MYSQL 获取主要类别

带索引的属性的 SQL 映射值

redis - 在redis中跟随fifo

neo4j - 如何使用 Sigma JS (NEO4J) 获取选定的节点?