ArangoDB 3.0:使用未知函数'TRAVERSAL()'(解析时)

时间:2016-07-18 12:04:32

标签: arangodb

我通过Homebrew

新安装了ArangoDB 3.0.2

当我按照此链接https://docs.arangodb.com/3.0/cookbook/Graph/FindingLeafNodesAql.html#using-the-visitor-from-an-aql-query

运行查询时

发生此错误:

Query: usage of unknown function 'TRAVERSAL()' (while parsing)

有人可以解释为什么我收到此错误? 非常感谢你提前。

仅供参考:我确实在ArangoDB 2.8中成功运行了该查询。

1 个答案:

答案 0 :(得分:1)

所有与图形相关的函数在3.0中都是removed from AQL 可以使用更快,更灵活的AQL graph traversal

有可用的迁移配方,请参阅例如https://docs.arangodb.com/3.0/cookbook/AQL/MigratingEdgeFunctionsTo3.html

并非所有的食谱都是最新的,你试过的食谱是为2.x编写的,而且在3.x中不再有效。 @dothebart刚刚从食谱中删除了过时的图形食谱,它们将在下一次构建后消失,以免混淆用户。

以下查询应该为example data提供相同的结果(所有叶节点=仅限大写),但不需要用户定义的AQL函数:

FOR v IN 0..10 INBOUND "v/world" e
    // leaf node = no inbound edges.
    // We can use LIMIT 1 to optimize the traversal (we don't care how many edges)
    FILTER LENGTH(FOR vv IN INBOUND v e LIMIT 1 RETURN 1) == 0
    RETURN CONCAT(v.name, " (", v.type, ")")