数据模型是一种组织数据并说明它们如何相互关联的模型(schema)。Nebula Graph数据模型使用6种基本的数据模型:
- 图空间:图空间用于隔离不同团队或者项目的数据。不同图空间的数据是相互隔离的,可以指定不同的存储副本数、权限、分片等。
- 点(Vertex):点用来保存实体对象,特点如下
- 点是用点标识符(VID)标识的。VID在同一图空间中唯一。VID 是一个 int64, 或者 fixed_string(N)
- 点必须有至少一个Tag,也可以有多个Tag。但不能没有Tag。
- 边(Edge):边是用来连接点的,表示两个之间的关系或行为,特点如下
- 两点之间可以有多条边
- 边是有方向的,不存在无向边
- 四元组 <起点VID、Edge type、边排序值(Rank)、终点VID> 用于唯一标识一条边。边没有EID
- 一条边有且仅有一个Edge type
- 一条边有且仅有一个rank。其为int64, 默认为0
- 标签(Tag):Tag由一组事先预定义的属性构成
- 边类型(Edge type):Edge type由一组事先预定义的属性构成
- 属性(Properties):属性是指以键值对(Key-value pair)形式存储的信息