Мне нужно рассчитать кратчайшие пути с условиями (условия могут быть очень сложными). Я пробовал следующий пример запроса, но он отнимает у меня много времени
FOR p IN ANY K_SHORTEST_PATHS
'graph_vertices/1' TO 'graph_vertices/2'
graph_edges
OPTIONS {
weightAttribute: 'weight',
defaultWeight: 1
}
FILTER p.edges[*]._key NONE IN ['736023', '659112', '695090', '731912', '680907', '699903']
LIMIT 3
RETURN {name: CONCAT_SEPARATOR(' -> ', p.edges[*]._key), weight: sum(p.edges[*].weight)}
Можно ли выполнить предварительную фильтрацию? Я имею в виду фильтр краев коллекции, а затем начать поиск кратчайшего пути. Может быть, какие-то другие советы, которые могут мне помочь?
ps Я не могу использовать обход, потому что я не знаю о длине пути, а также мне нужны кратчайшие пути в соответствии с весами.