2017-02-21 81 views

回答

2

如果您在邊緣文檔中使用「邊緣標籤」字段,則可以在調用insertEdge時對其進行設置,如下面的代碼所示。

ArangoDB arangoDB = new ArangoDB.Builder().build(); 

// create database 
arangoDB.createDatabase("myDatabase"); 

// create named graph 
Set<EdgeDefinition> edgeDefinitions = Collections.singleton(
    new EdgeDefinition().collection("myEdgeCollection").from("myVertexCollection").to("myVertexCollection")); 
arangoDB.db("myDatabase").createGraph("myGraph", edgeDefinitions); 

// create from vertex 
BaseDocument from = new BaseDocument("myFromKey"); 
arangoDB.db("myDatabase").graph("myGraph").vertexCollection("myVertexCollection").insertVertex(from); 

// create to vertex 
BaseDocument to = new BaseDocument("myToKey"); 
arangoDB.db("myDatabase").graph("myGraph").vertexCollection("myVertexCollection").insertVertex(to); 

// create edge 
BaseEdgeDocument edge = new BaseEdgeDocument("myVertexCollection/myFromKey", 
    "myVertexCollection/myToKey"); 
edge.addAttribute("label", "value"); 
edge.addAttribute("whatever", 42); 
arangoDB.db("myDatabase").graph("myGraph").edgeCollection("myEdgeCollection").insertEdge(edge); 

而不是使用BaseEdgeDocument的你也可以使用Map<String, Object>

Map<String, Object> edge = new HashMap<String, Object>(); 
edge.put("_from", "myVertexCollection/myFromKey"); 
edge.put("_to", "myVertexCollection/myToKey"); 
edge.put("label", "value"); 
edge.put("whatever", 42); 
arangoDB.db("myDatabase").graph("myGraph").edgeCollection("myEdgeCollection").in sertEdge(edge); 

或創建一個表示你的優勢你自己的POJO。邊緣至少需要_from_to。如果您不想命名POJO _from和_to中的字段,則可以使用註釋DocumentField以及您所選擇的兩個String字段上的值Type.FROMType.TO

public class MyEdge { 
    @DocumentField(Type.FROM) 
    private String from; 

    @DocumentField(Type.TO) 
    private String to; 

    public MyEdge() {} 

    ..setter & getter 
} 
+0

哪個版本是穩定的,因爲我無法找到arangodb-java的驅動程序版本4.1.10 – patel

+0

4.1.10像ArangoDB一類是最後一個穩定版(今天發佈)。它包括類'ArangoDB'。也許你得到了錯誤的版本? http://search.maven.org/#artifactdetails%7Ccom.arangodb%7Carangodb-java-driver%7C4.1.10%7Cjar – mpv1989

+0

如何在arangodb-java-driver版本3.0.0中創建邊緣標籤 – patel