Подключение к AWS Neptune с Gremlin GraphFactory - PullRequest
0 голосов
/ 09 января 2019

Примеры документации AWS показывают, как подключиться к AWS Neptune с помощью Gremlin:

Cluster.Builder builder = Cluster.build();
builder.addContactPoint("your-neptune-endpoint");
builder.port(8182);
builder.enableSsl(true);
builder.keyCertChainFile("SFSRootCAG2.pem");

Cluster cluster = builder.create();

GraphTraversalSource g = EmptyGraph.instance().traversal().withRemote(DriverRemoteConnection.using(cluster));

Однако мой текущий код для подключения к общему графу Гремлин выглядит так:

Configuration conf = new PropertiesConfiguration(...);
...    //Set configuration
Graph graph = GraphFactory.open(conf);

Кто-нибудь знает, как использовать этот второй подход с GraphFactory для подключения к Neptune? Я нигде не смог найти никаких примеров.

1 Ответ

0 голосов
/ 09 января 2019

Нептун не предоставляет экземпляр Graph, поскольку Gremlin выполняется удаленно, а не локально. GraphFactory действительно только для ситуаций, когда у вас есть экземпляр Graph, который вы хотите создать. Раньше это было RemoteGraph, которое допускало это (хотя все еще использовалось в тестовом наборе TinkerPop), но этот подход давно заброшен и больше не рекомендуется.

Метод подключения к удаленным провайдерам Gremlin, таким как Neptune, который вы изначально представили, является рекомендуемым способом установки GraphTraversalSource. Однако стоит отметить, что по состоянию на 3.3.5 предпочтительный метод избавляется от EmptyGraph и позволяет создавать экземпляр GraphTraversalSource анонимно следующим образом:

import static org.apache.tinkerpop.gremlin.process.traversal.AnonymousTraversalSource.traversal;

GraphTraversalSource g = traversal().withRemote('conf/remote-graph.properties');

Существуют и другие перегрузки для withRemote(), которые также должны быть знакомы.

...