2017-02-21 4 views

Antwort

2

Wenn Sie mit "Edge Label" ein Feld in einem Edge-Dokument meinen, können Sie es wie folgt setzen, wenn Sie insertEdge wie im folgenden Code aufrufen.

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

Statt BaseEdgeDocument verwenden, können Sie auch 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); 

verwenden oder eigene POJO darstellen Ihre Rand erstellen. Die Kante benötigt mindestens die Felder _from und _to. Wenn Sie die Felder in Ihrem POJO _from und _to nicht benennen wollen, können Sie die Annotation DocumentField mit den Werten Type.FROM und auf zwei String Feldern Ihrer Wahl verwenden.

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

    @DocumentField(Type.TO) 
    private String to; 

    public MyEdge() {} 

    ..setter & getter 
} 
+0

die Version stabil ist, weil ich nicht eine Klasse wie ArangoDB in arangodb-java-Treiberversion 4.1.10 – patel

+0

4.1.10 ist die letzte stabile Version (heute veröffentlicht) finden können. Es enthält die Klasse "ArangoDB". Vielleicht hast du die falsche Version? http://search.maven.org/#artifictdetails%7Ccom.arangodb%7Carangodb-java-driver%7C4.1.10%7Cjar – mpv1989

+0

wie Edge-Label in Arangodb-Java-Treiber Version 3.0.0 – patel