Arangodb3.0中的好友查询

Arangodb3.0中的好友查询,arangodb,aql,Arangodb,Aql,我想使用AQL编写“friends of friend”遍历 我有一个名为:User的集合和一个名为Conatct的边缘集合 我的Conatct文档: 我还读到在ArangoDb中实现friends of friends,但这篇文章使用了ArangoDb较低版本的函数,该版本使用了GRAPH_neights()函数 在ArnagoDB 3.0(最新版本)中,GRAPH\u neighbories()函数已被删除 现在,如何在ArnagoDB 3.0中使用Aql实现fof 非常感谢,因为有更强


我想使用AQL编写“friends of friend”遍历

我有一个名为:User的集合和一个名为Conatct的边缘集合

我的Conatct文档:


我还读到在ArangoDb中实现friends of friends,但这篇文章使用了ArangoDb较低版本的函数,该版本使用了GRAPH_neights()函数

在ArnagoDB 3.0(最新版本)中,GRAPH\u neighbories()函数已被删除

现在,如何在ArnagoDB 3.0中使用Aql实现fof

非常感谢,因为有更强大、更灵活、更高性能的,它是在2.8中引入的,并针对3.0版进行了扩展和优化

要检索朋友的朋友,需要从相关用户开始遍历,遍历深度=2:

LET user = DOCUMENT("User/@9302796301")
LET foaf = (
  FOR v IN 2..2 ANY user Contact
    RETURN v // you might wanna return the name only here
)
RETURN MERGE(user, { foaf } )
使用
\u键
=
@9302796301
的用户的文档被加载并分配给变量
用户
。它被用作最小深度和最大深度为2的遍历的起始顶点,使用集合的边
触点
,忽略它们的方向(
任何
;也可以是
入站
出站
)。在本例中(
v
)完全返回好友文档,并使用属性键
“foaf”
和变量值
foaf
用户
文档合并

这只是如何遍历图和如何构造结果集的一个简单示例。当然,还有更多的选择