[英]How to create edge label in Arangodb?
java-driver 4.1.10我已經創建了名為mydatabase1的數據庫,我已經使用Java創建了一個圖,所以我的問題是如何使用Java代碼設置邊緣標簽?
如果要在邊緣文檔中使用“邊緣標簽”來表示字段,則可以在調用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中的字段,則可以在Type.TO
的兩個String
字段上使用注釋DocumentField
,其值分別為Type.FROM
和Type.TO
public class MyEdge {
@DocumentField(Type.FROM)
private String from;
@DocumentField(Type.TO)
private String to;
public MyEdge() {}
..setter & getter
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.