2016-03-04 66 views
1

我試圖從Gremlin遍歷中打印出結果。這類似於這個問題,但不同的對這個問題:打印出Gremlin 3.1.1結果Groovy沒有Gremlin控制檯

How to print out Gremlin pipe/traversal results

我試圖做到這一點沒有小鬼控制檯。下面是一個代碼示例,但沒有產生與sideEffect()

@Grab('org.apache.tinkerpop:tinkergraph-gremlin:3.1.1-incubating') 
@Grab('org.apache.tinkerpop:gremlin-core:3.1.1-incubating') 

import org.apache.tinkerpop.gremlin.structure.Graph; 
import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerFactory; 

Graph graph = TinkerFactory.createModern(); 
def g = graph.traversal(); 
println(g.V(1).out('name').toString()); 
g.V(1).out('name').sideEffect{println it.name}.iterate(); 

回答

4

這裏的現代圖形的圖片您使用 TinkerPop Modern

你可以看到,頂點1是馬爾科節點,它有三個出持續的邊緣:

vertex1 --created--> vertex3 
vertex1 --knows--> vertex2 
vertex1 --knows--> vertex4 

在精怪,這些可以表示喜歡用vertex steps

g.V(1).out('created').next() 
g.V(1).outE('knows').inV().toList() 

根據您的代碼,它看起來可能是您想要在相鄰頂點上獲得vertex propertyname。在這種情況下,離開了邊緣的標籤,並獲取頂點屬性值:

g.V(1).out().values('name').sideEffect{println it}.iterate() 

僅供參考,您引用的鏈接顯示TinkerPop2代碼。你應該參考TinkerPop 3.1.1-incubating documentation