Я пытаюсь подключиться к удаленному серверу 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 для успешной отправки Groovy-строк.Но у меня не получилось с GraphTraversalSource, я получил множество ошибок.
conf / compose.yaml, который я использую для настройки консоли gremlin, такой же, как ниже, и тот же, который я использую в remote-graph gremlin.remote.driver.clusterFile
config
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 безрезультатно.
Может кто-нибудь помочь?