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吗?我在任何地方都找不到任何示例。
答案 0 :(得分:2)
Neptune不提供Graph
实例,因为Gremlin是在本地而不是远程执行的。 GraphFactory
实际上仅适用于您拥有要创建的Graph
实例的情况。曾经有一个RemoteGraph
允许这样做(尽管在TinkerPop测试套件中仍然使用),但是这种方法早就被放弃了,不再推荐使用。
您最初介绍的用于连接到Neptune之类的远程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()
的其他重载也应该看起来很熟悉。