【问题标题】:how to use Tinkerpop blueprints API in arangodb to get all vertices and edges如何在 arangodb 中使用 Tinkerpop 蓝图 API 来获取所有顶点和边
【发布时间】:2016-10-24 10:23:30
【问题描述】:

我使用以下代码使用 Tinkerpop api 创建了图形并添加了顶点和边

ArangoDBBatchGraph arang = new ArangoDBBatchGraph("localhost", 8529, "testgraph", "testcollection", "testedgecollection");
        Vertex user = null;
        Vertex preVertex = null;
        preVertex = arang.addVertex(0);
        preVertex.setProperty("name", "edgevertex");

        long startTime = System.currentTimeMillis();
        for(int rec = 1; rec<=10; rec++) {

            user = arang.addVertex(rec);
            user.setProperty("name", "user"+ rec);
            user.setProperty("userid", rec);
            user.setProperty("gender", "male");
            user.setProperty("firstname", "user");
            user.setProperty("lastname", rec);
            user.setProperty("employee number", "emp0"+ rec);

            arang.addEdge(rec, user, preVertex, "edge"+ rec);
            preVertex = user;
        }

        System.out.println("write Time consumed : "+ (System.currentTimeMillis() - startTime));

但我想获取图中的所有边和顶点 我尝试了下面的代码,它不起作用在线程“main”java.lang.UnsupportedOperationException中抛出异常异常 在 com.arangodb.blueprints.batch.ArangoDBBatchGraph.getVertices(ArangoDBBatchGraph.java:277) 在 mydb.ArangodbTest.TestConnection.main(TestConnection.java:54)

startTime = System.currentTimeMillis();
        Iterable<Vertex>  iter = arang.getVertices();
        List<Vertex> list = new ArrayList<Vertex>();
        if(iter != null) {
            for(final Vertex vert : iter) {
                list.add(vert);
            }
        }
        Iterable<Edge>  iterEdge = arang.getEdges();
        List<Edge> listEdge = new ArrayList<Edge>();
        if(iter != null) {
            for(Edge edge : iterEdge) {
                listEdge.add(edge);
            }
        }

        System.out.println("Read vertices list: "+ list.size() + ", Edges List: "+listEdge+ "; Time consumed : "+ (System.currentTimeMillis() - startTime));

请帮助使用来自 arangodb 的 tinkerpop api 获取所有边和顶点

提前致谢

【问题讨论】:

    标签: java arangodb tinkerpop tinkerpop-blueprint


    【解决方案1】:

    ArangoDBBatchGraph 不支持getVertices()getEdges() 方法。您必须使用ArangoDBGraph 而不是ArangoDBBatchGraph

    除此之外,您的代码应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多