Модель данных:
книги - документы
страницы - документы. Страница может содержать только одну ссылку на другую книгу
books_pages - ребра. От книги к странице и от страницы к книге
Пример:
book1 -> (edge) -> page1 -> (edge) -> book2
book1 -> (edge) -> page2 -> (edge) -> book2
book1 -> (edge) -> page3 -> (edge) -> book2
book1 -> (edge) -> page4 -> (edge) -> book3
book2 -> (edge) -> page5 -> (edge) -> book4
book2 -> (edge) -> page6 -> (edge) -> book4
book2 -> (edge) -> page7 -> (edge) -> book4
book2 -> (edge) -> page6 -> (edge) -> book4
...
Цель состоит в том, чтобы создать грани между книгами, избегая дублирования. book1 содержит несколько страниц, которые упоминают book2, но мне нужен только один край. Идентификатор не имеет значения, сколько раз на book2 ссылались в book1.
AQL :
FOR b1 IN books
FOR v IN 1..1 OUTBOUND b1 books_pages
FOR b2 IN 1..1 OUTBOUND v books_pages
COLLECT from = b1._id, to = b2._id
RETURN {'from':from, 'to': to}
При значительном количестве документов в базе данных происходит сбой arangodb. Что-то не так с этим запросом или это просто ошибка на стороне arangodb?