groovy - Cómo imprimir los resultados de Gremlin pipe/transversales
(2)
Tengo el siguiente código en un archivo llamado traversal.groovy
(al que llamo desde la línea de comando con gremlin -e traversal.groovy
):
// Begin traversal.groovy //
g = TinkerGraphFactory.createTinkerGraph()
v = g.v(1)
println v.outE.inV.name
// End traversal.groovy //
Como puede ver, es muy básico; pero el resultado no es lo que estoy buscando. El resultado es
[StartPipe, OutEdgesPipe, InVertexPipe, PropertyPipe(name)]
Cuando ejecuto el mismo código en la línea de comandos de gremlin, obtengo lo que estoy buscando ...
gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> v = g.v(1)
==>v[1]
gremlin> v.outE.inV.name
==>vadas
==>josh
==>lop
Entonces, ¿cómo puedo acceder a la información que quiero que de alguna manera está escondida en [StartPipe, OutEdgesPipe, InVertexPipe, PropertyPipe(name)]
? ¡Gracias!
Probablemente solo necesite repetir su canalización:
http://gremlindocs.com/#methods/pipe-next
println v.outE.inV.name.next()
Gracias a stephan mallette por apuntarme en la dirección correcta. Para simplemente imprimir la propiedad "nombre" de cada vértice en mi recorrido superior, podemos usar sideEffect e iterar . El código resultante se vería de la siguiente manera:
// Begin traversal.groovy //
g = TinkerGraphFactory.createTinkerGraph()
v = g.v(1)
v.outE.inV.sideEffect{println it.name}.iterate()
// End traversal.groovy //
y el resultado sería:
vadas
josh
lop