如何在Java代码中转换Gremlin控制台代码?

如何在Java代码中转换Gremlin控制台代码?,java,gremlin,tinkerpop,amazon-neptune,Java,Gremlin,Tinkerpop,Amazon Neptune,我真的很喜欢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,但我认为有时候很难将控制台的代码转换为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应用程序中。或者,如果您喜欢更详细的语法,请使用
\uuuu
类的标准
导入
,然后显式使用该语法生成子遍历,如上面第二个示例所示。请在中查看建议导入的完整列表。

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应用程序中。或者,如果您喜欢更详细的语法,请使用
\uuuu
类的标准
导入
,然后显式使用该语法生成子遍历,如上面第二个示例所示。请参阅中建议导入的完整列表。

注意,如果可能,您应该使用
T.id
或仅
id
(再次-静态导入),而不是
id()
步骤-注意如果可能,您应该使用
T.id
或仅
id
(再次-静态导入),而不是
id()
步骤-