簡體   English   中英

如何在Arangodb中創建邊緣標簽?

[英]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.FROMType.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM