1

我仍在学习 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?有没有更好的方法来做到这一点?

4

1 回答 1

0

您要求的是计算从 n 到具有标签的所有节点的最短路径:person。当然,这只会随着人员节点数量的增加而线性扩展,您还将获得越来越多的最短路径。

于 2013-06-18T10:34:45.903 回答