【问题标题】:ArangoDB shortest path error AQL 2.8ArangoDB 最短路径错误 AQL 2.8
【发布时间】:2016-09-02 23:53:44
【问题描述】:

我们正在尝试切换到“3.0 风格”的图形函数。

我们运行文档的示例:

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 并且有一节讨论了最短路径。例子我们试过了,但是报错如上。

有人可以帮助我们吗?

非常感谢。

最好的问候,

丹尼尔

【问题讨论】:

    标签: graph arangodb aql


    【解决方案1】:

    您提到的SHORTEST_PATH 实现是在 3.0 中添加的。

    ArangoDB 2.8 it didn't exist yet 中,因此它不会理解这个较新的语法。 所以恐怕你将无法在 2.8 中使用这些查询。

    如果您希望您的应用程序在这两个 ArangoDB 版本之间具有灵活性,那么您目前必须在您的应用程序中采用两种代码路径。

    这有点不舒服,but others found the efford to be worth while,希望你也一样;-)

    【讨论】:

    • 我们的 ArangoDB 2.8 软件正在为一家重要的保险公司生产。所以,我们必须保证从 2.8 到 3.0 版本的向后兼容,不能从代码中切换版本。 :) 我很好奇,为什么不在 2.8 版本中添加 SHORTEST_PATH 实现?
    • can forward allow the deprecated SHORTEST_PATH-function in 3.0 - 但是在 3.0 中查询仍然必须不同:arangodb::SHORTEST_PATH。正如您已经知道 Jan 一样,也许您想通过 jan.stuecke 在 arangodb.com 上给他留言,也许他可以为这个问题找到更顺畅的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多