2015-10-13 64 views
0

我通過這樣的循環圖的第一個頂點:在小鬼小鬼得到每個循環

enter image description here

廣度優先這樣

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")); 

我要的是頂點距離開始這個循環的迭代,以及下一個。這樣的成績我想看看

  1. A,B
  2. B,C
  3. B,d
  4. B,E
  5. C,F
  6. d,F

不過,我得到的是

  1. A,B
  2. A,C
  3. A,d
  4. A,E
  5. A,F
  6. A,F

它看起來像「× 「在流水線中始終是流水線中的第一個頂點,而不是該循環迭代中的第一個頂點,這正是我想要的。

這似乎應該很容易,我錯過了一些簡單的東西,但我找不到它。

回答

0

只需要什麼是_()或 「IdentityPipe」

.as("x") 
._()        
.as("firstVertex") 

這對我工作。