2017-01-03 188 views
1

我想查詢n找到兩個距離。我怎樣才能與Arangodb獲得兩個距離?

example graph

這是我的AQL至今:

FOR start IN @@vertexCollection 
    FOR v, e, p IN 0..2 ANY 'circles/L' @@edgeCollection 
    FILTER p.vertices[2]._key == 'n' 
    RETURN { 
     source: start, 
     destination: v, 
     edges: p.edges, 
     vertices: p.vertices 
    } 
+0

https://github.com/arangodb/Cookbook/blob/master/recipes/AQL/MigratingEdgeFunctionsTo3.md – shaoyongyang

回答

0
  • 你只需要遍歷(內環)
  • 你需要的0..3的路徑深度: L - > 601 - > m - > n (0 - > 1 - > 2 - > 3)
  • 您的過濾器必須檢查最後一個頂點而不是第二個

你的AQL應該是這樣的:

FOR v, e, p IN 0..3 ANY 'circles/L' GRAPH 'yourGraph' 
    FILTER p.vertices[-1]._key == 'n' 
    RETURN p 

UPDATE

更容易在你的過濾器是在路徑中的最後一個頂點使用v

FOR v, e, p IN 0..3 ANY 'circles/L' GRAPH 'yourGraph' 
    FILTER v._key == 'n' 
    RETURN p