我真的很喜欢 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 中则不行。有人可以帮助我编写这段代码,或者为我的 future 提供一个好的建议吗?
最佳答案
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 应用程序中。或者,如果您更喜欢更详细的语法,请使用 __
类的标准 import
,然后显式使用它来生成您的子遍历,如上面第二个示例所示。请参阅Reference Documentation中建议导入的完整列表。 .
关于java - 如何将 Gremlin-Console-Code 转换为 Java-Code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61128321/