2016-09-01 5 views
1

Мы пытаемся перейти к «3.0-стильным» функциям графа.Ошибка кратчайшего пути ArangoDB AQL 2.8

Бежим пример документации:

FOR v, e IN OUTBOUND SHORTEST_PATH 'circles/A' TO 'circles/D' GRAPH 'traversalGraph' RETURN [v._key, e._key] 

и она работает на ArangoDB 3.0, но это не в ArangoDB 2.8.11 Ошибка:

"errorNum":1501,"errorMessage":"syntax error, unexpected quoted string near '' TO 'circles/D' GRAPH 'traversa...' at position 1:46 (while parsing)" 

Наша цель переводит все запросы в «3.0-стиль», потому что мы хотим обновить базу данных до 3.0, но мы хотели бы также обратную совместимость. Мы прочитали https://docs.arangodb.com/cookbook/AQL/MigratingGraphFunctionsTo3.html и есть раздел, который рассказывает о кратчайшем пути. Мы попробовали пример, но ошибка выше.

Может кто-нибудь нам помочь?

спасибо.

С наилучшими пожеланиями,

Даниэле

ответ

0

SHORTEST_PATH реализации вы упомянули добавляли 3,0.

В ArangoDB 2.8 it didn't exist yet, и поэтому он не будет понимать этот более новый синтаксис. Так что, боюсь, вы не сможете использовать эти запросы с 2.8.

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

Это немного неудобно, but others found the efford to be worth while, я надеюсь, что вы тоже ;-)

+0

Наше программное обеспечение с ArangoDB 2.8 находится в производстве для важной страховой компании. Таким образом, мы должны гарантировать обратную совместимость версии от 2.8 до 3.0, и мы не можем переключать версии из кода. :) Мне любопытно, почему бы вам не добавить в версию 2.8 SHORTEST_PATH реализацию? –

+0

Вы можете перенаправлять устаревшую 'SHORTEST_PATH'-функцию в 3.0] (https://docs.arangodb.com/3.0/cookbook/AQL/MigratingGraphFunctionsTo3.html#solution-1-quick-and-dirty-not-recommended) - Однако в 3.0 все еще должны быть разными: 'arangodb :: SHORTEST_PATH'. Как вы уже знаете, Ян, может быть, вы хотите бросить ему строку через jan.stuecke на arangodb.com, возможно, он сможет получить более плавное решение этой проблемы. – dothebart