使用java的gremlin事务处理
我正在使用java连接到使用gremlin的JanusGraph,并使用以下代码创建顶点和边。目前我正在使用g.tx()。提交()作为客户端的一部分。提交代码如下所示:
try {
String sessionId = UUID.randomUUID().toString();
Client client = cluster.connect(sessionId);
client.submit("graph.tx().open()");
client.submit("g.addV('Person').property('Name', 'Justin').next()");
**client.submit("graph.tx().commit()");**
List<Result> rs = client.submit("g.V().count()").all().join();
System.out.println("Result size is "+rs.size());
System.out.println(rs.get(0).getString());
client.closeAsync();
} catch (Exception e) {}
所以我想知道是否还有其他更合适的方法来使用java处理事务,或者这是唯一的方法
谢谢, 阿图尔
# 1 楼答案
如果您正在向远程JanusGraph服务器提交请求,那么这就是方法。您可以使用
connect(<sessionId>)
创建一个会话,然后针对它提交脚本。然而,在最近发布的TinkerPop 3.5.0中,该规则有一些变化。您现在可以执行基于字节码的会话以及基于脚本的会话,这意味着事务API现在对于嵌入式和远程用例都是统一的。您可以在3.5.0升级文档here中看到更多信息3.5.0版本是最近发布的,几周前才发布。因此,在回答这个问题时,JanusGraph还不支持它(尽管它的工作已经开始了here)。在发布支持TinkerPop 3.5.0的JanusGraph之前,您有两个事务选项:
对于后者,请参阅所提供链接中的文档: