2
我有以下圖形結構。所有的頂點都在同一個集合中,並且所有的邊都在同一個集合中。從一個特定的開始頂點(F)開始,我想返回所有的頂點,這些頂點是一次向外出發的結果,然後向內一次,這樣我就結束了,在這個例子中,D和E. 如何在ArangoDB 3.2中查詢OUT然後IN遍歷?
我有以下圖形結構。所有的頂點都在同一個集合中,並且所有的邊都在同一個集合中。從一個特定的開始頂點(F)開始,我想返回所有的頂點,這些頂點是一次向外出發的結果,然後向內一次,這樣我就結束了,在這個例子中,D和E. 如何在ArangoDB 3.2中查詢OUT然後IN遍歷?
在與它混合了一段時間之後,這就是我想出來的。似乎工作。發佈此信息以防其他人搜索類似的問題。
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個頂點數據庫來說,查詢需要幾乎一毫秒的時間,但我認爲我不能做得更好。
是的,這是對的。記住你的查詢可以訪問v,e,p(而不僅僅是你使用的v),它可以讓你從返回的路徑而不是頂點執行查詢。通過使用LAST(p.vertices)或FIRST(p.vertices),您可以更好地控制第二個查詢的運行方式。但只有在需要的時候,你在那裏做了什麼才能完成1步。 –