Gremlin - сортировка кратчайшего взвешенного пути по стоимости - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь получить кратчайший взвешенный путь из графика Amazon Neptune с помощью Gremlin, как показано в рецептах 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 голосов
/ 26 февраля 2019

Это дает вам то, что вам нужно?

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')
...