2016-10-24 33 views
1

我已经创建图形,并通过使用下面的代码如何使用TinkerPop有关蓝图API中arangodb让所有的顶点和边

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)); 

添加使用TinkerPop有关API的顶点和边,但我想所有的边和顶点图中的 我尝试下面的代码,它不工作在com.arangodb.blueprints.batch.ArangoDBBatchGraph.getVertices(ArangoDBBatchGraph.java:277) 在mydb.ArangodbTest抛出异常异常线程“main” java.lang.UnsupportedOperationException .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的所有边缘和顶点

在此先感谢

回答

0

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

除此之外,你的代码应该工作。

相关问题