[英]Gremlin: Find all downstream (out) paths from given Vertex
我有一個包含循環的大約 1000 個頂點和 3000 個邊的有向圖。
我試圖從給定的頂點找到所有下游(出)路徑。
使用以下 Gremlin 查詢時
g.V(45712).repeat(out().simplePath()).until(outE().count().is(0)).path()
對於某些路徑,由於循環,需要永遠獲得結果,盡管simplePath
步驟應該防止這種情況。
我試圖優化查詢,而不是使用aggregate
步驟和without
使用aggregate
步驟兩次遍歷同一個頂點,但現在一些頂點被跳過。
g.V(45712).repeat(out().where(without('x'))
.aggregate(Scope.local,'x'))
.until(outE().count().is(0))
.path()
謝謝
如果您的數據高度連接,那可能是一個昂貴的查詢。 即使有一個小圖形。 我見過人們使用約束來嘗試限制搜索的總量。 這些可能包括使用times
或loops
來設置最大搜索深度。 即使使用我的航線數據集(實際上是一個很小的圖),該查詢也可能產生非常大的結果集。 並不是說你的 Gremlin 錯了。 它更多地取決於頂點的連接方式。
從給定的開始搜索所有路徑通常可能是昂貴的查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.