Индекс для запроса ребер между вершинами - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь проверить, есть ли граница между v1 и v2.

gV (v1) .outE (метка) .as ("e"). InV (). HasId (v2).select ("e")

Поскольку на моем графике слишком много ребер, получение результата становится медленнее.

Я добавил несколько индексов, но это не помогло.Какой индекс подходит для более быстрого выполнения этого запроса?

1 Ответ

0 голосов
/ 10 октября 2018

Как уже говорилось в другом вопросе, вы, вероятно, не можете сделать это быстрее, как есть.Вам нужно будет использовать индексы (и фильтры по этим индексам) около outE(), чтобы уменьшить количество проходящих ребер и ограничить количество фильтров на inV().

Если вам нечего фильтровать, кроме метки ребра, вы можете подумать о денормализации бита и передаче некоторого идентифицирующего значения из вершины к ребру и индексации этого.Тогда вам придется намного быстрее выполнять обход, потому что это просто так:

g.V(v1).outE().has('someId',v2)
...