ArangoDB Создание встречного ребра для каждого направленного ребра для двунаправленных ребер - PullRequest
0 голосов
/ 26 июня 2018

Я очень новичок в базе данных графа. И я начал с Аранго. Для этого проекта я не уверен насчет запросов, с которыми я столкнусь в будущем. Я не хочу создавать узкие места. Поэтому я хотел создать ненаправленные или двунаправленные края везде.

Однако, поскольку поддерживаются только направленные ребра, мое текущее понимание таково: если какая-то вершина не может быть достигнута directed traversal, тогда я столкнусь с последним узким местом. Поэтому, когда я создаю ребро a -> b, я также создаю b -> a в той же коллекции ребер.

Верны ли мои предположения? и является ли проектное решение приемлемым?

1 Ответ

0 голосов
/ 27 июня 2018

В то время как ребра всегда направлены, вы можете игнорировать направление ребра при обходе, используя ANY: https://docs.arangodb.com/3.3/AQL/Graphs/Traversals.html

  • OUTBOUND для следования ребру в заданном направлении (_from_to)
  • INBOUND следовать в обратном направлении (_from_to)
  • ANY следовать независимо от направления ребра, входящего и исходящего (_from_to)

Traversal directions in graph

...