当遍历树或图形(在我的情况下是DAG)时,我经常看到递归的用法。在不久的将来,AQL是否支持或计划支持它?
假设我有一个AQL查询或子查询(遍历),并希望以递归方式调用它。它可以用Foxx包裹吗?
答案 0 :(得分:1)
var recursion = function(last) {
if (last.length > 3) {
return last;
}
return recursion(db._query("<some AQL query>", {last: last}));
}
controller.get("/recursive", function (req, res) {
res.json(recursion(["a","b","c"]));
}
对于图遍历,我们计划用一些运算符扩展AQL以定义&#34; For All&#34;或者&#34; For Any&#34;在遍历路径上过滤。哪个可以直接处理许多模式。语法可能如下所示:
FOR v,e,p IN 1..12 OUTBOUND "vertex/start" edges
FILTER p.vertices[*].age ALL >= 35
RETURN v
除了查找1
到12
的所有路径之外,其中所有顶点的age
属性都大于或等于35
。
希望这有帮助。