В: Можно ли ограничить наборы ребер, которые система попытается использовать при обходе именованных графов AQL?
Сценарий:
Если у меня есть именованный граф productGraph с двумя наборами вершин и двумяграничные коллекции:
- Вершины: продукт, цена
- prodParentOf (продукт A является родителем продукта B)
- prodHasPrice (продукт A имеет цену $ X)
Если сейчас я хочу получить дочерние продукты продукта А (а не цены), я бы хотел сделать что-то вроде этого
WITH product
FOR v, e, p IN OUTBOUND 'product/A'
GRAPH 'productGraph'
RETURN {vertice:v, edge:e, path: p}
Однако, если я посмотрю на объяснениеВ плане, я вижу, что система пыталась использовать индексы как для prodParentOf, так и для prodHasPrice (даже если я явно поместил коллекцию продуктов в предложение «С»):
Indexes used:
By Type Collection Unique Sparse Selectivity Fields Ranges
2 edge prodHasPrice false false 75.00 % [ `_from`, `_to` ] base OUTBOUND
2 edge prodParentOf false false 65.37 % [ `_from`, `_to` ] base OUTBOUND
Можно ли ограничить коллекции реберсистема будет пытаться использовать при запросе именованных графов?Или я должен использовать краевые коллекции в запросе вместо этого.(что, на мой взгляд, означало бы, что было бы лучше обходить коллекции ребер в целом, чем именованные графы).
Вот тот же запрос с использованием коллекции ребер
FOR v, e, p IN OUTBOUND 'product/A'
prodParentOf
RETURN {vertice:v, edge:e, path: p}