Skip to content
On this page

Entity Direct Query

Specific use NebulaGraph official Example data Basketballplayer

Custom vertex or edge entities

Vertex Entity

  • Extends the GraphBaseVertex class identifier as a vertex entity
  • The name attribute of @Tag indicates the Tag of the vertex entity
  • The type attribute of @GraphId indicates the type of the point entity id (optional)
java
@Tag(name = "player")
public class Player extends GraphBaseVertex {

  @GraphId(type = IdType.STRING)
  private String id;

  private String name;

  private Integer age;
    
  ...

}

Edge Entity

  • Extends the GraphBaseEdge class to identify edge entities
  • The name attribute of @EdgeType indicates the type of the edge entity
  • @Id (Optional, if the uniqueness of an edge of the same type between two nodes is determined by the source node id and the destination node id, the current attribute can be omitted)
  • @SrcId (optional, if you do not need to obtain the source node id of the relationship, you can omit the current attribute)
  • @DstId (Optional, if you do not need to get the target node id of the relationship, you can omit the current attribute)
java
@EdgeType(name = "serve")
public class Serve extends GraphBaseEdge {

  @Id 
  private Long rank;

  @SrcId 
  private String srcId;

  @DstId 
  private String dstId;

  @Column(name = "start_year")
  private Integer startYear;
  
  @Column(name = "end_year")
  private Integer endYear;

  ...
}

Usage Example

java
@Test
public void testVertex(){
  
  Player srcPlayer = new Player();
  //Query all Player vertices that meet the condition name = "Vince Carter"
  srcPlayer.setName("Vince Carter");
  List<Player> vertices = player.queryVertexByProperties();

}

@Test
public void testEdge(){
  
  Serve serve = new Serve();
  //Query the Server edge whose starting point ID is player100 and the end point ID is team204.
  serve.setSrcId("player100");
  serve.setDstId("team204");
  Serve edge = serve.queryEdgeWithSrcAndDstByProperties();
  //Query the edges of Serve type and direction "->"
  List<Serve> edges = serve.queryEdgeByType(Direction.NULL);

}