我仍然在学习Neo4j的绳索,并试图决定它是否是我需要解决的问题的正确工具。我的目标是计算从一个节点到某一组节点中每个节点的距离。到目前为止,我正在尝试这样做:
START n = node:node_auto_index(name="Animals")
MATCH ppl:person
WITH n, ppl
MATCH p = shortestPath(n-[*]-ppl)
RETURN length(p), ppl
(我在"朋友的朋友"样本数据集上做这件事,首先用:person
标记所有人。)
问题是:这个查询将在一次遍历中完成,还是Neo4j必须遍历ppl
中的所有节点,从而随着ppl
中的节点数量线性增加计算成本?有更好的方法吗?
您要求的是计算从n到标签为:person
的所有节点的最短路径。当然,这只会随着people节点数量的增长而线性扩展,你也会得到越来越多的最短路径。