Я новичок в Gremlin и пытаюсь сделать запрос более эффективным.
С графиком, который выглядит примерно так:
[vertex: label=a] -> [vertex: label=b] -> [vertex: label=c] -> [vertex: label=d]
Мне нужно пройти по графику и получить результаты для каждого шага обхода.
Например, из моего базового Vertex мне может понадобиться получить все, что с ним связано, с меткой b и все, что связано с b, с меткой c и так далее.
Я могу делать запросы по отдельности следующим образом:
results1 = g.V('someid').out().hasLabel('b').toList()
results2 = g.V('someid').out().hasLabel('b').out().hasLabel('c').toList()
results3 = g.V('someid').out().hasLabel('b').out().hasLabel('c').out().hasLabel('d').toList()
но это кажется нелогичным, и время отклика начинает накапливаться.
Я не совсем уверен, что я ищу, но, возможно, каким-то образом продолжить поиск подмножества графа, а не начинать каждый раз с базовой вершины.
РЕДАКТИРОВАТЬ:
Я нашел шаг Union, но он, похоже, объединяет несколько небольших запросов в один большой запрос, и я считаю, что это приводит к той же неэффективности, что и выполнение всех запросов по отдельности.
V()
в качестве одного из вариантов. - person Kelvin Lawrence   schedule 18.09.2020