我使用以下Java代码将GraphML数据提取到Gremlin / Tinkerpop中:
graph.io(IoCore.graphml()).reader().create().readGraph(inputStream, graph);
这适用于内存中的图形,但我现在想将相同的GraphML数据摄取到位于Gremlin服务器后面的远程JanusGraph中。在我看来,这是一个明显而直接的事情,但我无法弄清楚如何获得一个远程图形实例(只是一个遍历)。
这是否可行,如果没有,远程摄取数据的解决方法是什么?
答案 0 :(得分:2)
目前,在TinkerPop兼容的图形系统中,无法获得对远程图形对象的本地引用。但是,您不需要执行命令graph.io(IoCore.graphml()).reader().create().readGraph(inputStream, graph);
。首先,您可以在远程脚本中获取对图形参考的访问权限,即可以是变量" graph"绑定到远程服务器上的图形引用,或者您正在使用JanusGraphFactory(这将是奇怪的,因为这会打开远程文件系统)或ConfiguredGraphFactory。然后你将gremlin脚本提交给远程服务器,只要你绑定" graph"到远程服务器上正确的图形对象并确保" inputStream"如果正确定义(即作为字符串,通过远程本地文件系统(再次奇怪),或通过URL),那么您应该能够毫无问题地执行此命令。完成操作的确切方式取决于您的具体情况,即您如何访问图表,如何远程访问输入流,远程服务器的沙箱设置等。