Twitter Neo4j-过滤节点之间的关系
我有这种关系: 我想计算所有传入到Twitter Neo4j-过滤节点之间的关系,twitter,neo4j,cypher,nodes,relationship,Twitter,Neo4j,Cypher,Nodes,Relationship,我有这种关系: 我想计算所有传入到:Tweet节点的关系的平均值,不包括()-[:POSTS]-()关系。 我应该如何正确地做到这一点?到目前为止,我可以运行此查询来计算所有传入关系的平均值: match (t:Tweet)-->(topic:Topic) with topic, size((t)<--()) as rel where topic.name='politics' return avg(rel) as Avg_RelationshipCount match(t
:Tweet
节点的关系的平均值,不包括()-[:POSTS]-()
关系。
我应该如何正确地做到这一点?到目前为止,我可以运行此查询来计算所有传入关系的平均值:
match (t:Tweet)-->(topic:Topic)
with topic, size((t)<--()) as rel
where topic.name='politics'
return avg(rel) as Avg_RelationshipCount
match(t:Tweet)-->(主题:topic)
关于主题,size((t),多亏一位用户删除了他的答案,我找到了解决方案(对他的查询稍加更正):
match()-[:回复|:转发]->(t:Tweet)-->(主题:主题)
对于主题,size((t)这个@sirdan答案的重构形式应该快得多:
MATCH ()-[r:REPLIES_TO|:RETWEETS]->(:Tweet)-->(topic:Topic)
WHERE topic.name='politics'
WITH topic, COUNT(r) as rel
RETURN AVG(rel) AS Avg_RelationshipCount;
上面的查询在生成关系计数之前按主题.name
进行过滤,以消除多余的计数。它还避免了不必要地执行(t)Hi@sirdan。我已删除了我的答案,以修复密码查询中的一些点,并在之后取消删除。很高兴您找到了解决方案!:)不客气!是的,这很有帮助!谢谢!
MATCH ()-[r:REPLIES_TO|:RETWEETS]->(:Tweet)-->(topic:Topic)
WHERE topic.name='politics'
WITH topic, COUNT(r) as rel
RETURN AVG(rel) AS Avg_RelationshipCount;