1

AWS 文档中的示例显示了如何使用 Gremlin 连接到 AWS Neptune,如下所示:

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));

但是,我当前连接到通用 Gremlin 图的代码如下所示:

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

有谁知道如何将第二种方法与 GraphFactory 一起使用来连接到 Neptune?我无法在任何地方找到任何示例。

4

1 回答 1

2

Neptune 不提供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()也应该看起来很熟悉。

于 2019-01-09T15:34:46.537 回答