Я пытаюсь подключиться к удаленному серверу compose-janusgraph, чтобы создать граф и добавить вершины. Обратите внимание, что у меня нет доступа к конфигурациям сервера или возможности изменять настройки сервера.
Я могу сделать это через мою локальную консоль gremlin с
:remote connect tinkerpop.server conf/compose.yaml session
:remote console
graph=ConfiguredGraphFactory.create("mygraph")
graph=ConfiguredGraphFactory.open("mygraph")
g.addV("pat")
g.tx().commit()
Я хочу сделать то же самое с Java-клиентом, использующим GraphTraversalSource. Из Java я могу использовать опцию Cluser-> Client-> submit для успешной отправки хороших строк. Но у меня не получилось с GraphTraversalSource, возникло множество ошибок.
Конфигурация conf / compose.yaml, которую я использую для настройки консоли gremlin, приведена ниже и аналогична той, которую я использую в конфигурации remote-graph 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.yaml
gremlin.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 server
gremlin.remote.driver.sourceName=mygraph
Если я попробую
Graph graph = EmptyGraph.instance();
GraphTraversalSource g = graph.traversal().withRemote(conf);
g.addV("Java Remote Test");
g.close();
Код выполняется без исключений, но вершина в графе не создается. Я думал, это потому, что tx () не зафиксирован. Поэтому я попытался получить ConfiguredGraphFactory вместо пустого графика, но все приведенные ниже параметры приводят к исключениям.
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, но безрезультатно.
Может кто поможет?