1. 程式人生 > >Arangodb最短路徑查詢語法

Arangodb最短路徑查詢語法

Arangodb最短路徑演算法只能確定一條最短路徑。

(圖片來源百度echarts截圖)

如圖所示,我們從鄭志勇鄧志榮的關係路徑是:1、鄭志勇-->徐賤雲-->鄧志榮  2、鄭志勇-->徐賤雲-->馮可樑-->鄧志榮 3、鄭志勇-->趙英傑-->徐賤雲-->鄧志榮  ...

當然還有多條路徑。我們可以從這些路徑中可以看出除了第一條長度為3,其餘的都大於3,而第一條就是我們要找的最短路徑。

那麼如果在arangodb如何來查詢最短路徑呢?假設我們有個people的vertex document即頂點文件,graph(圖)為relation,然後查詢如下:

FOR p IN OUTBOUND SHORTEST_PATH "people/鄭志勇" TO "people/鄧志榮" edges return p

這樣就能查詢出最短路徑,結果就是:鄭志勇-->徐建雲-->鄧志榮

總結

最短路徑在關係圖譜查詢非常有用,可以去除不必要的關係找到最短的那條關係

參考:https://www.w2us.c