2017-10-21 177 views
2

我有以下圖形結構。所有的頂點都在同一個集合中,並且所有的邊都在同一個集合中。從一個特定的開始頂點(F)開始,我想返回所有的頂點,這些頂點是一次向外出發的結果,然後向內一次,這樣我就結束了,在這個例子中,D和E. enter image description here如何在ArangoDB 3.2中查詢OUT然後IN遍歷?

回答

1

在與它混合了一段時間之後,這就是我想出來的。似乎工作。發佈此信息以防其他人搜索類似的問題。

FOR v IN 1..1 OUTBOUND "Vertex/F" edges 
    FOR vv IN 1..1 INBOUND v edges 
    FILTER vv._key != "F" 
    Collect uniqueKeys = vv._key 
    return uniqueKeys 

對於一個小的8個頂點數據庫來說,查詢需要幾乎一毫秒的時間,但我認爲我不能做得更好。

+1

是的,這是對的。記住你的查詢可以訪問v,e,p(而不僅僅是你使用的v),它可以讓你從返回的路徑而不是頂點執行查詢。通過使用LAST(p.vertices)或FIRST(p.vertices),您可以更好地控制第二個查詢的運行方式。但只有在需要的時候,你在那裏做了什麼才能完成1步。 –