我尝试使用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(..)
的几种组合,但均未成功
答案 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')