使用Gremlin / Tinkerpop 3的流畅api以文本而不是步骤列表打印查询后,有没有办法?

时间:2017-01-16 09:22:26

标签: gremlin

现在我知道如果我打印图形遍历,它会显示数组中的步骤。我很好奇是否可以以某种方式将原始Gremlin查询打印为字符串。

谢谢!

1 个答案:

答案 0 :(得分:4)

对于每个Gremlin语言变体,有一个Translator.ScriptTranslator实现,它接受Gremlin Bytecode并将其写入字符串。对于gremlin-groovy,您可以使用GroovyTranslator,如下所示:

gremlin> GroovyTranslator
==>class org.apache.tinkerpop.gremlin.groovy.jsr223.GroovyTranslator
gremlin> graph = TinkerFactory.createModern()
==>tinkergraph[vertices:6 edges:6]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> bytecode = g.V().out('knows').in('created').getBytecode()
==>[[], [V(), out(knows), in(created)]]
gremlin> GroovyTranslator.of('g').translate(bytecode)
==>g.V().out("knows").in("created")