我找到的文档建议创建一个EmptyGraph,然后从该图形获取一个远程遍历:
EmptyGraph.instance().traversal().withRemote(config)
其中config是一个包含远程属性的配置对象,例如:
config.setProperty("clusterConfiguration.hosts", HOST);
config.setProperty("clusterConfiguration.port", PORT);
config.setProperty("clusterConfiguration.serializer.className", "org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0");
config.setProperty("clusterConfiguration.serializer.config.ioRegistries", ioRegistries);
config.setProperty("gremlin.remote.remoteConnectionClass", "org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteConnection");
config.setProperty("gremlin.remote.driver.sourceName", "g");
然而,我在使用 JanusGraph 特定功能(例如提交事务)时遇到了问题,因为图实例本身是 EmptyGraph,而不是 JanusGraph。所以,请尝试:
GraphTraversalSource g = JanusGraphFactory.open("inmemory").traversal().withRemote(config)
这将为您提供遍历远程gremlin服务器的数据源,您可以执行g.addV("vertexLabel")....;、g.tx().commit();等操作。
ioRegistries
的值吗? - drum