[英]Gremlin get first vertex of each loop
我正在遍歷這樣的圖形:
廣度首先在Gremlin像這樣
pipe.start(unProcessed)
.as("x")
.bothE()
.as("existingEdge")
.bothV()
.hasNot("processed",true)
.loop("x", new PipeFunction<LoopPipe.LoopBundle<Vertex>, Boolean>() {
public Boolean compute(LoopPipe.LoopBundle<Vertex> loopBundle) {
return true;
}
}, new PipeFunction<LoopPipe.LoopBundle<Vertex>, Boolean>() {
public Boolean compute(LoopPipe.LoopBundle<Vertex> loopBundle) {
return true;
}
})
.as("newVertex")
.select(Arrays.asList("x","newVertex"));
我想要的是從循環迭代開始的頂點以及下一個頂點。 所以我想看的結果是
但是, 我得到的是 :
看起來管道中的“ x”始終是管道中的第一個頂點,而不是循環的迭代中的第一個頂點,這正是我想要的。
看來這應該很容易,但我缺少一些簡單的東西,但我找不到它。
需要的是_()或“ IdentityPipe”
.as("x")
._()
.as("firstVertex")
那對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.