Я пытаюсь вернуть Vertex (в формате tinkerpop), который был только что создан с помощью Gremlin:
DseCluster dseCluster = DseCluster.builder()
.addContactPoint(DbC.dseHost)
.build();
DseSession dseSession = dseCluster.connect();
GraphTraversal traversal = graph.addV(VertexLabels.User)
.property("username", "testuser")
GraphStatement graphStatement = DseGraph.statementFromTraversal(
traversal
);
GraphResultSet grs = dseSession.executeGraph(graphStatement.setGraphName(DbC.graphName));
Vertex v = grs.one().as(Vertex.class);
и я получаю это исключение...
java.lang.ClassCastException: com.datastax.driver.dse.graph.DefaultVertex cannot be cast to org.apache.tinkerpop.gremlin.structure.Vertex
Как можно изменить код, чтобы он возвращал данные в формате gremlin.structure.Vertex, а не в формате DSE Graph Vertex?
Я использую:
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>dse-driver</artifactId>
<version>1.1.1-beta1</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>java-dse-graph</artifactId>
<version>1.0.0-beta1</version>
</dependency>
Я надеюсь, что это можно сделать, иначе миграция с TitanDB будет болезненной.
.asVertex()
вместо.as(Vertex.class)
- person ᴘᴀɴᴀʏɪᴏᴛɪs   schedule 21.12.2016WARNING: please make sure that your version of Tinkerpop is compatible. The driver has been compiled and tested against version 3.2.0-incubating; it does NOT provide any compatibility guarantees for older Tinkerpop versions.
- person ᴘᴀɴᴀʏɪᴏᴛɪs   schedule 21.12.2016