我在ArangoDB中有兩個頂點集合P和F,以及一個包含兩種邊的邊集合:fp和hp。如何停止基於入站邊緣的遍歷
注意,圖像上面已經簡化 - 的「F」的節點經由多個「FP」邊緣本身連接至另一架F節點。換句話說,我不知道(例如)「F4」是否有入站「fp」邊緣或更多。
我想使用一個AQL查詢來遍歷圖,從節點PA開始,但是停止在沒有入站「hp」邊的任何頂點。該Documentation表明,停止遍歷的方法是使用類似的查詢:
FOR v, e, p IN 0..100 OUTBOUND 'P/PA'GRAPH 'test'
FILTER p.<vertices|edges>... <condition>
RETURN v
而且我希望看到:
PA, PC, PE, PF
但我不知道該如何實現,如果沒有第一填充「P」節點上的新屬性表明它們具有入站「fp」邊緣。如果我這樣做,這會接着是可能的:
FOR v, e, p IN 0..100 OUTBOUND 'P/PA'GRAPH 'test'
FILTER p.vertices[*].hasFP ALL == true
RETURN v
有沒有辦法實現這個沒有預處理步驟,在一個AQL查詢?
嗯,可惜這仍然返回「PD」的結果中,與頂點在非深度優先順序返回... – rfernandes
好吧,現在我明白你的情況了。 AQL目前不可能。目前,你對hasFP標誌的想法應該是最好的解決方案。 – mpv1989