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
与用户
文档合并
这只是如何遍历图和如何构造结果集的一个简单示例。当然,还有更多的选择