繁体   English   中英

如何计算与特定节点相关的所有其他节点

[英]How do I count all the other nodes related to a specific node

该路径表示用户的浏览历史记录

上面的路径意味着有一个用户浏览过页面A - >页面B - >页面C.

下面的路径意味着,一个用户浏览页面X->页面Y->页面B->页面C.

例如,如果我想计算与页面C相关性

预期的anwser在桌子上

或者,如果我想找到与B页的所有相关性

anwser应该是

  • 第A:1页
  • 第X页:1
  • 第Y页:1
  • 第C: 0

如何通过py2neocypher 查询获得预期的anwser

如果您的“b”节点是不同的节点,因此您具有完整的不同路径,则此查询有效:

MATCH (b:Page)
WHERE b.id = 'b'
MATCH (b)<-[:LINK_TO*..10]-(referer)
RETURN referer.id, count(*)

结果:

y   1
a   1
x   1

测试控制台http://console.neo4j.org/r/sb5qmq

c改变'b' ,看b的计数为2

b   2
y   1
a   1
x   1

编辑

如果节点'b'相同,则可以执行以下操作:

MATCH (b:Page { id:'b' })
WITH b
MATCH (p:Page)
WHERE p <> b
OPTIONAL MATCH (p)-[r:LINK_TO*..3]->(b)
RETURN p.id, count(r)

http://console.neo4j.org/r/prb2my

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM