0
所以我已经加载了一个数据集到Neo4j与10 MM节点的东西。我正在寻求解决从两个节点开始的问题,寻找排除关系类型子集的最短路径。这里是一个查询尝试的例子:neo4j优化最短路径大量节点
match (p1:PT)-[*]-(p2:PT{src:"8"}),
p=shortestPath((p1)-[*..20]-(p2))
with p where p1.src is not null
and NONE (n in nodes(p) where labels(n) in [["X"],["Y"],["FX","RX"],["RX","FX"]])
return p limit 5000
该查询需要永久(有效)。据我所知,查询将采取所有有一些关系的对p1,p2,确定每对之间的最短路径,删除最后一个子句失败的最短路径,如果它们存在,则返回多达5000个这样的路径。所以我想知道是否1)任何人都看到了这样做的明显更有效的方法,并且 2)如果我想从满足最后一个子句的那些中选择最短路径,那么将如何修改查询?非常感谢您的帮助。
感谢威廉 - 仍然很呆滞我害怕,但您的查询是有道理的。 –
你有':PT(src)'上的索引吗? –