通过Arangodb中的预定义顶点和边找到最短路径

问题描述 投票:0回答:1

我需要找到最短的路径,该路径应该穿过多个节点和边缘。一些细节:

  1. 根据重量应该是最短的路径。
  2. 包含集可以有序和无序。
  3. 图形大小-50000顶点和450 0000边

有没有办法使用arangodb找到这样的路径?我已经尝试过K_SHORTEST_PATHS,但是在某些情况下它太慢了。

arangodb
1个回答
0
投票

没有数据集,这很难测试。不幸的是,除非您自己构建一些东西,否则K_SHORTEST_PATHS是向边缘添加“权重”的唯一内置方法。另外,两个SHORTEST_PATH方法都没有实现PRUNE,这是加快图形遍历的最佳方法。

我的建议是使用有向图方法(FOR v,e,p IN 1..9 INBOUND x...),同时实现PRUNEFILTER子句以减少跳数,并使用COLLECT path = p AGGREGATE weight = SUM(e.weight)之类的方法来计算权重。

© www.soinside.com 2019 - 2024. All rights reserved.