2016-09-01 48 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