我通过Homebrew
新安装了ArangoDB 3.0.2 运行查询时发生此错误:
Query: usage of unknown function 'TRAVERSAL()' (while parsing)
有人可以解释为什么我收到此错误? 非常感谢你提前。
仅供参考:我确实在ArangoDB 2.8中成功运行了该查询。
答案 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, ")")