2016-11-29 31 views
0

例如,我想查詢出的正是這種圖形來自Dave開始深度2 enter image description hereArangodb查詢

現在的極限,如果我想要得到的節點連接到節點的子集之間的所有關係通過深度的限制戴夫與2的深度,我會用

For v,c in 0..2 
ANY "persons/dave" knows 
OPTIONS {uniqueVertices: "global",bfs: true } 
return v 

這將返回:

  • 戴夫 - 鮑勃 - 查理 - 夏娃 - 愛麗絲(大家都在圖)

但我不知道如何查詢返回正確的一組關係是:

  • 夏娃愛麗絲失蹤
  • 如果圖形較大,愛麗絲對someoneelse會在結果

我的低於目前的解決方案將不會返回前夕對愛麗絲

For v,c in 1..2 
ANY "persons/dave" knows 
OPTIONS {uniqueEdges: "global",bfs: true } 
return c 

回答

0

在這種情況下,如果你從Dave開始,Eve-to-Alice是第三級遍歷。你可以寫下下面的查詢:

for v, e, p in 1..3 ANY "persons/dave" knows options {uniqueEdges: "path",bfs: true} 
    return {vertex: v, edge: e, path: p} 

這會給你所有的邊緣,包括Eve和Alice之間的邊緣。這回答了你的問題了嗎?

如果您需要將此限制爲僅在二級節點之間的路徑,則需要創建一個過濾器。

+0

這個解決方案在第二個標準中失敗了,其中如果圖更大,Alice-to-someoneelse也會被返回。我只想要這些節點之間的邊緣 –