我已经使用以下 Java 代码将 GraphML 数据提取到 Gremlin/Tinkerpop 中:
graph.io(IoCore.graphml()).reader().create().readGraph(inputStream, graph);
这对于内存中的图表非常有用,但我现在想将相同的 GraphML 数据提取到位于 Gremlin 服务器后面的远程 JanusGraph 中。在我看来,这是一件显而易见且直接的事情,但我无法弄清楚如何获取远程图实例(仅是遍历)。
这可能吗?如果不可能,有哪些解决方法可以远程提取数据?
最佳答案
目前,在兼容 TinkerPop 的图形系统中,无法获取对远程图形对象的本地引用。但是,您不需要执行命令 graph.io(IoCore.graphml()).reader().create().readGraph(inputStream, graph);
。首先,您可以访问远程脚本中的图形引用,即变量“graph”可以绑定(bind)到远程服务器上的图形引用,或者您可能正在使用 JanusGraphFactory (这很奇怪,因为这会打开远程文件系统)或 ConfiguredGraphFactory 。然后,您向远程服务器提交一个 gremlin 脚本,并且只要将“graph”绑定(bind)到远程服务器上正确的图形对象,并确保“inputStream”被正确定义(即作为字符串,通过远程本地文件系统(又很奇怪),或者通过 URL),那么您应该能够毫无问题地执行此命令。完成操作的确切方式取决于您的具体情况,即如何访问图形、如何远程访问输入流、远程服务器的沙箱设置等。
关于java - 将数据加载到远程 Gremlin 图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47573770/