簡體   English   中英

Gremlin:從給定頂點查找所有下游(出)路徑

[英]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()

謝謝

如果您的數據高度連接,那可能是一個昂貴的查詢。 即使有一個小圖形。 我見過人們使用約束來嘗試限制搜索的總量。 這些可能包括使用timesloops來設置最大搜索深度。 即使使用我的航線數據集(實際上是一個很小的圖),該查詢也可能產生非常大的結果集。 並不是說你的 Gremlin 錯了。 它更多地取決於頂點的連接方式。

從給定的開始搜索所有路徑通常可能是昂貴的查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM