ArangoDB 通过一组预先定义的顶点和边在一个数组中查找最短路径,

qyuhtwio  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(180)

我需要找到最短路径,应该通过几个节点和边。一些细节:
1.它应该是最短路径根据权重。
1.包含集可以是有序的,也可以是无序的。
1.图形大小- 50 000个顶点和450 0000条边
有没有办法用arangodb找到这样的路径?我试过K_SHORTEST_PATHS,但是在某些情况下太慢了。

oiopk7p5

oiopk7p51#

如果没有数据集,测试起来会很棘手。不幸的是,K_SHORTEST_PATHS是唯一一种为边添加“权重”的内置方法,除非你自己构建一些东西。另外,两种SHORTEST_PATH方法都没有实现PRUNE,而PRUNE是加速图遍历的最佳方法。
我的建议是使用有向图方法(FOR v,e,p IN 1..9 INBOUND x...),实现PRUNEFILTER子句来减少跳数,并使用类似COLLECT path = p AGGREGATE weight = SUM(e.weight)的方法来计算权重。

相关问题