如何将 Gremlin-Console-Code 转换为 Java-Code?

How do I convert Gremlin-Console-Code in Java-Code?

我真的很喜欢 Gremlin,但我认为有时很难将控制台的代码转换为 Java-代码 例如:

g.E().project('EDGE','IN','OUT','PROP')
     .by(id())
     .by(inV().union(id()).fold())
     .by(outV().union(id()).fold())
     .by(properties().fold())

在控制台中运行正常,但在 Java 中运行不正常。有人可以帮我处理这段代码,或者给我一个未来的好建议吗?

Gremlin 控制台自动包含大量静态导入,以便您可以节省击键次数并使 Gremlin 看起来不那么冗长。当你这样做时:

g.E().project('EDGE','IN','OUT','PROP')
     .by(id())
     .by(inV().union(id()).fold())
     .by(outV().union(id()).fold())
     .by(properties().fold())

你真正在做的是:

g.E().project('EDGE','IN','OUT','PROP')
     .by(__.id())
     .by(__.inV().union(__.id()).fold())
     .by(__.outV().union(__.id()).fold())
     .by(__.properties().fold())

在您的 Java 应用程序中,您只需要包含一个 import 语句,例如:

import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*;

来自 Groovy 控制台的原始语法将完美地粘贴到 Java 应用程序中。或者,如果您更喜欢更冗长的语法,请使用 __ class 的标准 import,然后明确使用它来生成您的子遍历,如上面第二个示例所示。请在 Reference Documentation.

中查看建议导入的完整列表