繁体   English   中英

通过arangodb中预定义的一组顶点和边查找最短路径

[英]Find shortest paths through predefined set of vertices and edges in arangodb

我需要找到应该通过几个节点和边的最短路径。 几个细节:

  1. 它应该是根据权重的最短路径。
  2. 包含集可以是有序的和无序的。
  3. 图大小 - 50 000 个顶点和 450 0000 条边

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM