OrientDB:最短路径边缘

时间:2015-02-05 14:06:55

标签: shortest-path orientdb edges

我的图表看起来像这样:

A --1--> B --2--> C --3--> D

|
4
|
V

E

我想获得从A到D的最短路径。但我不想要顶点而是构成路径的边缘。

here我最终得到:

 select expand(shortestPath) from (select shortestPath(A, D).outE())

但结果不仅包含正确的答案1,2,3,还包含4,因此构成路径的顶点的所有外边缘都是。

  • 我怎样才能得到构成最短路径的边缘?
  • 如果有几条最短路径怎么办?如何获得所有这些路径?

如果我可以选择shortestpath或dijkstra作为遍历策略,那将会很酷。 IMO就是他们​​所属的地方。

1 个答案:

答案 0 :(得分:0)

OrientDB已经拥有dijkstra功能。 Howerver只过滤边缘:

select from (select expand( shortestPath(A, D) ) ) where @this instanceof 'E'