2015-10-06 87 views
1

我試圖從給定的根節點開始遍歷圖的所有節點。遍歷時,我想「固定」從前一個頂點到當前頂點的邊,以便邊從前一個頂點到當前頂點(可能是相反的方式,但結束圖應該是一棵樹以根頂點爲根)。Gremlin遍歷使用內外邊緣

問題似乎是遍歷的邊緣並不全是嚴格的或邊緣。

我試圖創建一個廣度優先遍歷(我不應該先做廣度?),但由於在都和出邊我開始看起來像這樣

g.v('rootVertex').as('x').both.gather.scatter.loop('x'){true}{true} 

這似乎查詢由於「.both」(我認爲)造成無限循環。

有沒有辦法在gremlin中做到這一點,它不會創建無限循環並允許我修復/驗證前一節點的邊緣?

另外,我可以得到一個簡單的說明例子,查詢的「gather.scatter」部分?我很難想象這一步驟到底是什麼。

回答

3

添加simplePath步驟,以防止兩個節點之間從循環遍歷:

g.v('rootVertex').as('x').both().simplePath().loop('x'){true}{true} 
+0

AHHHH拍,我以前從未見過的simplePath選項。謝謝! – Brenden

相關問題