如何通过Gremlin控制台连接到内存中的JanusGraph嵌入式数据库

4

我有一个使用Spring Boot Java编写的服务器,其中包含了一个内存嵌入式JanusGraph实例。当我的服务器在运行时,我想通过Gremlin控制台连接到那个内存嵌入式的JanusGraph实例以进行验证。

以下是我如何启动内存嵌入式JanusGraph实例的方式:

@Bean
public JanusGraph janusGraph() {
  JanusGraphFactory.Builder builder = JanusGraphFactory.build()
    .set("storage.backend", "inmemory")
  return builder.open();
}

我以前已经在我的应用程序中设置了与内存中的Gremlin服务器的连接,并且可以通过Gremlin控制台连接到它,但我更希望将JanusGraph嵌入到我的应用程序中。

我希望实现类似于以下内容:

:remote connect tinkerpop.server conf/remote.yaml session-managed

但对于一个嵌入式的内存中Janusgraph实例而言。

我真的很想知道是否有任何方法可以通过Gremlin Console连接到嵌入式Janusgraph实例。谢谢!

1个回答

2
这是不可能的。通过Gremlin控制台连接远程JanusGraph实例需要Gremlin Server或其他远程Gremlin提供程序。由于您将JanusGraph实例嵌入到自己的应用程序中,而没有公开符合Tinkerpop标准的Gremlin服务器/远程Gremlin提供程序,因此无法远程连接。文档位于:

https://docs.janusgraph.org/basics/deployment/#embedded-janusgraph

不要直接陈述这个事实,但似乎是暗示的。
另外,请查看 TinkerPop 文档:

http://tinkerpop.apache.org/docs/current/reference/#connecting-gremlin

有关连接图表的更多详细信息,请参阅。

好的,谢谢您的回复。请问您是否知道是否可以从自定义应用程序内部公开该功能?':remote connect' 命令需要插件(通常是 tinkerpop.server)。我的想法是,通过开发自己的插件,可以从我的应用程序中公开一些能力以连接到 Gremlin 控制台服务器,但这个想法还不成熟。您对此有任何了解吗?谢谢! - Cody Martin
1
可能吗?是的。容易做到吗?我不确定。Tinkerpop和Janus图形是开源的,因此您可以查看它们在各自的代码存储库中的实现方式。Janus图形实现似乎是对来自Apache的Gremlin服务器的薄包装器,因此浏览他们的代码可能会为您提供一些快速入门的见解。 - Greg Valainis
@CodyMartin,这方面有什么进展吗?你能通过Gremlin控制台连接吗? - Ankush

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接