Следующий вопрос о переполнении стека
Как повысить производительность кратчайшего пути с помощью Gremlin?
показывает, как найти кратчайший путь от начальной одной начальной вершины с идентификатором 687
до конечной вершины с идентификатором 1343
и делает это эффективно, гарантируя, что пути не повторяются с использованием store
, without
и aggregate
g.V(687).store('x').repeat(out().where(without('x')).aggregate('x')).until(hasId(1343)).limit(1).path()
Я хотел бы выполнить тот же запрос с тем же уровнем эффективности, однако мне нужны все кратчайшие пути от нескольких начальных вершин с одной и той же меткой к одной и той же конечной вершине, например, это будет выглядеть примерно так (хотя это не т работать)
g.V().hasLabel('label').store('x').repeat(out().where(without('x')).aggregate('x')).until(hasId(1343)).limit(1).path()
Я пробовал несколько конструкций с двумя повторениями в операторе, но не могу получить независимый store('x')
для каждой начальной вершины. Я также использую платформу AWS Neptune
, поэтому она ограничивает использование Gremlin там, где не разрешены циклы / скрипты. Все запросы gremlin должны начинаться с g.
и состоять из команд, связанных вместе с .
https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-differences.html