我想用 AQL 编写'friends of friend'遍历
我有一个名为Collection的集合: User 和一个名为 Conatct 的边集合 .
我的 Conatct 文件:
我还阅读了在ArangoDb中实现朋友的朋友的this article,但是这篇文章使用了使用GRAPH_NEIGHBORS()函数的ArangoDB较低版本的函数 .
在ArnagoDB 3.0(最新版本)中, GRAPH_NEIGHBORS() 功能已被删除!
现在,如何在ArnagoDB 3.0中使用Aql实现fof?
非常感谢
1 回答
graph functions have been removed,因为有更强大,更灵活和高性能的native AQL traversal,它是2.8引入的,并针对3.0版进行了扩展和优化 .
要检索朋友的朋友,需要从有问题的用户开始遍历深度= 2的遍历:
加载
_key
=@9302796301
的用户文档并将其分配给变量user
. 它用作最小和最大深度为2的遍历的起始顶点,使用集合的边缘Contact
并忽略它们的方向(ANY
;也可以是INBOUND
或OUTBOUND
) . 朋友文档的朋友在此示例(v
)中完全返回,并使用属性键"foaf"
和变量foaf
的值与user
文档合并 .这只是一个简单的例子,如何遍历图形以及如何构造结果集 . 当然还有很多选择 .