当前位置: 首页 > 知识库问答 >
问题:

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

楚鸿波
2023-03-14

我非常喜欢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不行。有人能帮我这个代码,或者给我一个好的未来地址吗?

共有1个答案

郜杰
2023-03-14

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类的标准导入,然后显式地使用它来生成子遍历,如上面第二个示例所示。请参阅参考文档中的建议进口的完整列表。

 类似资料:
  • 问题内容: 我正在将Java库移植到C#。我使用的是Visual Studio 2008,因此没有停止使用的Microsoft Java语言转换助手程序(JLCA)。 我的方法是创建一个与Java库具有类似项目结构的新解决方案,然后将Java代码复制到ac#文件中,并将其逐行转换为有效的c#。考虑到我觉得Java易于阅读,两种语言之间的细微差别使我感到惊讶。 有些事情很容易移植(命名空间,继承等)

  • JS代码日志可以在Chrome上看到,但是你在哪里看到Java代码中生成的日志? 好的,我得到了答案——使用“adb logcat”,但是如何调试Java代码呢?有没有可以用于反应原生开发的工具?

  • 源代码控制系统(又称版本控制系统)让你高效地管理工程。他们对一个人是很有用的,对一个团队是至关重要的。它们追踪不同版本里的所有改变,以至于所有代码都未曾丢失,其含义可以归属于改变。有了源代码控制系统,一个人可以自信地写一些而半途而废的代码和调试的代码,因为你修改的代码被仔细地与提交的、官方的即将与团队共享或发布的代码分割开。 我挺晚才开始意识到源代码控制系统的好处,但现在即使是一个人的工程,我也不

  • 问题内容: 我有一个用Scala编写的应用程序,我的一些团队成员希望使用Java版本。这是一个演示应用程序,可以使用用Scala编写的另一个API,并且他们希望该应用程序的Java版本能够使用Java中的API。但是,该应用程序有些大,我不想用Java手动重排代码(他们也不想学习Scala)。是否有任何工具可以从Scala代码自动生成(可读)Java代码? 问题答案: 他们希望应用程序的Java版

  • 我使用scala sbt控制台测试我的方法。(命令:sbt然后控制台)但是在eclipse或其他外部编辑器中完成的代码更改不会在sbt控制台中得到反映。 每次,我都必须退出控制台(使用Crt D),然后使用console命令再次启动它以查看更改。 有人面临这个问题吗?有没有办法从控制台重新加载代码? 我使用的是64位Ubuntu,

  • 这是我试图转换成java的代码,但我不理解它,实际上我得到这段代码作为一个答案,但他/她用kotlin给我