我想用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
文檔合併。
這只是一個簡單的例子,如何遍歷圖以及如何構造結果集。當然還有更多的選擇。
非常感謝...這是很好的工作... –