janusGraph使用远程连接更新和删除:报告DefaultGraphTraversal.none()

时间:2018-10-23 01:04:01

标签: tinkerpop janusgraph

使用janusGraph git代码示例:example-remotegraph

当我要创建元素并执行一些查询操作时,它工作得很好。
但是它会在更新和删除时报告异常...

java.util.concurrent.CompletionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Could not locate method: DefaultGraphTraversal.none()
    at java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:375)
    at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1934)
    at org.apache.tinkerpop.gremlin.driver.ResultSet.one(ResultSet.java:107)
    at org.apache.tinkerpop.gremlin.driver.ResultSet$1.hasNext(ResultSet.java:159)
    at org.apache.tinkerpop.gremlin.driver.ResultSet$1.next(ResultSet.java:166)
    at org.apache.tinkerpop.gremlin.driver.ResultSet$1.next(ResultSet.java:153)
    at org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal$TraverserIterator.next(DriverRemoteTraversal.java:142)
    at org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal$TraverserIterator.next(DriverRemoteTraversal.java:127)
    at org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal.nextTraverser(DriverRemoteTraversal.java:108)
    at org.apache.tinkerpop.gremlin.process.remote.traversal.step.map.RemoteStep.processNextStart(RemoteStep.java:80)
    at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:128)
    at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38)
    at org.apache.tinkerpop.gremlin.process.traversal.Traversal.iterate(Traversal.java:203)
    at org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal.iterate(GraphTraversal.java:2694)
    at org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal$Admin.iterate(GraphTraversal.java:178)
    at org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.iterate(DefaultGraphTraversal.java:48)
    at org.janusgraph.example.GraphApp.deleteElements(GraphApp.java:301)
    at org.janusgraph.example.GraphApp.runApp(GraphApp.java:350)
    at org.janusgraph.example.RemoteGraphApp.main(RemoteGraphApp.java:227)

这是代码:

    public void deleteElements() {
    try {
        if (g == null) {
            return;
        }
        LOGGER.info("deleting elements");
        // note that this will succeed whether or not pluto exists
        g.V().has("name", "pluto").drop().iterate();
        if (supportsTransactions) {
            g.tx().commit();
        }
    } catch (Exception e) {
        LOGGER.error(e.getMessage(), e);
        if (supportsTransactions) {
            g.tx().rollback();
        }
    }
}

2 个答案:

答案 0 :(得分:2)

emmm .....我以为我已经解决了这个问题.....

使用的库版本与gremlin-server的版本不匹配的唯一原因;

我试图将gremlin驱动程序库转换为3.2.9版本,并且运行良好。

答案 1 :(得分:1)

您需要使用JanusGraph使用的相同Tinkerpop版本,因为这是Tinkerpop中引入的不兼容更改