2016-09-01 45 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,並且有一節討論shortest_path。我們嘗試了這個例子,但是錯誤在上面。

有人可以幫助我們嗎?

非常感謝。

最好的問候,

丹尼爾

回答

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

您[可以在3.0中允許棄用的SHORTEST_PATH函數](https://docs.arangodb.com/3.0/cookbook/AQL/MigratingGraphFunctionsTo3.html#solution-1-quick-and-dirty-not-recommended ) - 但是查詢在3.0中仍然不同:'arangodb :: SHORTEST_PATH'。正如你已經知道揚,也許你想通過在arangodb.com上的jan.stuecke給他下線,也許他可以得到一個更順利的解決方案,這個問題。 – dothebart