1

我一直在使用以下 Java 代码将 GraphML 数据摄取到 Gremlin/Tinkerpop 中:

graph.io(IoCore.graphml()).reader().create().readGraph(inputStream, graph);

这对于内存中的图形非常有用,但我现在想将相同的 GraphML 数据摄取到位于 Gremlin 服务器后面的远程 JanusGraph 中。在我看来,这似乎是一件显而易见且直接的事情,但我无法弄清楚如何获取远程图形实例(仅遍历)。

这可能吗,如果不是,有什么解决方法可以远程获取数据?

4

1 回答 1

2

目前,在符合 TinkerPop 的图形系统中,无法获取对远程图形对象的本地引用。但是,您不需要一个人来执行命令graph.io(IoCore.graphml()).reader().create().readGraph(inputStream, graph);。首先,您在远程脚本中获取对图形引用的访问权限,即变量“graph”可能绑定到远程服务器上的图形引用,或者您正在使用JanusGraphFactory(这很奇怪,因为这会打开远程文件系统)或ConfiguredGraphFactory. 然后你向远程服务器提交一个 gremlin 脚本,只要你将“graph”绑定到远程服务器上正确的图形对象,并确保“inputStream”被正确定义(即作为字符串,通过远程本地文件系统(再次奇怪),或通过 URL),那么您应该能够毫无问题地执行此命令。您完成操作的具体方式取决于您的具体情况,即您如何访问图表、如何远程访问输入流、远程服务器的沙箱设置等。

于 2017-11-30T14:54:22.530 回答