使用 Gremlin GraphFactory 连接到 AWS Neptune
Connecting to AWS Neptune with Gremlin GraphFactory
AWS documentation 上的示例展示了如何使用 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?我无法在任何地方找到任何示例。
Neptune 不提供 Graph
实例,因为 Gremlin 是远程执行的,而不是本地执行的。 GraphFactory
实际上仅适用于您要创建 Graph
实例的情况。曾经有一个 RemoteGraph
允许这样做(虽然仍在 TinkerPop 测试套件中使用),但这种方法早已被放弃,不再被推荐。
您最初介绍的连接到 Neptune 等 Remote Gremlin Provider 的方法是建立 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()
的其他重载应该看起来也很熟悉。
AWS documentation 上的示例展示了如何使用 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?我无法在任何地方找到任何示例。
Neptune 不提供 Graph
实例,因为 Gremlin 是远程执行的,而不是本地执行的。 GraphFactory
实际上仅适用于您要创建 Graph
实例的情况。曾经有一个 RemoteGraph
允许这样做(虽然仍在 TinkerPop 测试套件中使用),但这种方法早已被放弃,不再被推荐。
您最初介绍的连接到 Neptune 等 Remote Gremlin Provider 的方法是建立 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()
的其他重载应该看起来也很熟悉。