为了账号安全,请及时绑定邮箱和手机立即绑定

从 Java 连接以编写 Janusgraph 以进行远程遍历

从 Java 连接以编写 Janusgraph 以进行远程遍历

BIG阳 2022-06-04 14:59:40
我正在尝试连接到远程 compose-janusgraph 服务器以创建图形并添加顶点。请注意,我无权访问服务器配置或更改服务器设置。我可以通过我的本地 gremlin 控制台执行此操作:remote connect tinkerpop.server conf/compose.yaml session:remote consolegraph=ConfiguredGraphFactory.create("mygraph")graph=ConfiguredGraphFactory.open("mygraph")g.addV("pat")g.tx().commit()我想对使用 GraphTraversalSource 的 Java 客户端做同样的事情。在 Java 中,我可以使用 Cluser->Client->submit 选项成功提交 groovy 字符串。但是我使用 GraphTraversalSource 一直没有成功,出现了各种错误。我用来配置 gremlin 控制台的 conf/compose.yaml 如下,与我在远程图形gremlin.remote.driver.clusterFile配置中使用的相同hosts: [portal-xxx.composedb.com] port: 15290 username: admin password: pass connectionPool: { enableSsl: true } serializer: { className:     org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0,     config: { serializeResultToString: true } }远程图属性看起来像gremlin.remote.remoteConnectionClass=org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteConnection# cluster file has the remote server configuration#gremlin.remote.driver.clusterFile=gremlin-console.yamlgremlin.remote.driver.clusterFile=/Users/julian.stephen/ibm.github/privacy-secbu/Privacy-DataViz/src/main/resources/gremlin-console.yaml# source name is the global graph traversal source defined on the servergremlin.remote.driver.sourceName=mygraph如果我尝试Graph graph = EmptyGraph.instance();GraphTraversalSource g = graph.traversal().withRemote(conf);g.addV("Java Remote Test");g.close();代码无异常运行,但图中未创建顶点。我认为这是因为 tx() 没有提交。因此,我尝试获取 ConfiguredGraphFactory 而不是 Empty 图形,但以下所有选项都会导致异常。JanusGraph graph = ConfiguredGraphFactory.open("mygraph");而不是 EmptyGraph 会导致错误(与接下来描述的错误相同)。当我创建配置ConfiguredGraphFactory.createConfiguration(new MapConfiguration(map));,然后尝试打开图表时,我收到一个错误,例如Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class.我无法访问服务器,如前所述。我还尝试了使用 JanusGraphFactory 的不同变体,但无济于事。有人可以帮忙吗?
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

原来这是channelizerJanusgraph 服务器中设置的错误配置,它没有为使用 GraphConfiguration Factory 创建的新图创建动态遍历绑定。一旦服务器团队纠正了这一点并更新了部署,动态遍历就会被绑定并且代码开始工作。



查看完整回答
反对 回复 2022-06-04
  • 1 回答
  • 0 关注
  • 495 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信