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

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

路径代表用户浏览历史.

上面的路径表示有一个用户浏览过页面A -> 页面B -> 页面C

下面的路径表示,一个用户浏览了页面X->页面Y->页面B->页面C

例如,如果我想计算页面C

的相关性

预期的答案在 table

或者如果我想找到与页面 B

的所有相关性

答案应该是

如何使用 py2neocypher query

获得预期的答案

如果您的 "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

'b' 更改为 c 以查看 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