我想用AQL朋友的朋友查询的ArangoDB 3.0
写穿越“朋友的朋友”我有一个名称的集合:用户与名称Conatct一个边缘集合。
我Conatct文件:
我也看了this article实现朋友ArangoDb的朋友,但这是后使用的ArangoDB的较低版本使用GRAPH_NEIGHBORS()函数的功能。
在ArnagoDB 3.0(最新版本),GRAPH_NEIGHBORS()功能已被删除!
现在,我如何在ArnagoDB 3.0中使用Aql实现fof?
非常感谢
我想用AQL朋友的朋友查询的ArangoDB 3.0
写穿越“朋友的朋友”我有一个名称的集合:用户与名称Conatct一个边缘集合。
我Conatct文件:
我也看了this article实现朋友ArangoDb的朋友,但这是后使用的ArangoDB的较低版本使用GRAPH_NEIGHBORS()函数的功能。
在ArnagoDB 3.0(最新版本),GRAPH_NEIGHBORS()功能已被删除!
现在,我如何在ArnagoDB 3.0中使用Aql实现fof?
非常感谢
的graph functions have been removed,因为有更强大,灵活和高性能的native AQL traversal,这与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 })
用于与_key
= @9302796301
用户文档被加载并分配给一个变量user
。它用作最小和最大深度= 2的遍历的起始顶点,使用集合Contact
的边缘并忽略其方向(ANY
;也可以是INBOUND
或OUTBOUND
)。朋友文档的朋友在此示例中完全返回(v
),并使用属性键"foaf"
和变量foaf
的值与user
文档合并。
这只是一个简单的例子,如何遍历图以及如何构造结果集。当然还有更多的选择。
非常感谢...这是很好的工作... –