Gremlin-按成本排序最短的加权路径输出

时间:2019-02-26 14:37:30

标签: graph gremlin traversal shortest-path amazon-neptune

我尝试使用Gremlin从Amazon Neptune图获得最短的加权路径,如TinkerPop食谱所示-

gremlin> g.V(1).repeat(outE().inV().simplePath()).until(hasId(5)).
           path().as('p').
           map(unfold().coalesce(values('weight'),
                                 constant(0.0)).sum()).as('cost').
           select('cost','p')

但是,我需要按照计算的成本(最低的成本作为第一个输出)对输出进行排序,而不是按路径中的节点数进行排序。

我在查询中尝试了order().by(..)的几种组合,但均未成功

1 个答案:

答案 0 :(得分:0)

这能给您您所需要的吗?

g.V(1).repeat(outE().inV().simplePath()).until(hasId(5)).
           path().as('p').
           map(unfold().coalesce(values('weight'),
                                 constant(0.0)).sum()).as('cost').
           order().by(select('cost')).
           select('cost','p')