嬴图数据库的一个实例可以承载一或多个图(也称图集),每个图代表一个由节点和边相互连接的唯一数据集或域。
图中的数据遵循其图结构,通过定义允许的点schema、边schema以及每个schema关联的属性类型,规定了图的结构和约束。

GQL一致性声明
图结构、点schema和边schema分别与ISO的GQL标准中定义的图类型、点类型和边类型保持一致。
点schema
点schema用来定义图中允许的一类点,由点schema名称和一组属性类型组成。
例如,名为User
的点schema拥有属性name
(数据类型为string
)和属性age
(数据类型为int32
):
NODE User ({name string, age int32})
点schema的名称User
也作为其标签使用。通过标签表达式:User
可引用该schema。
每个图都有一个内置的点schema,名为
default
。您可自由使用该schema,但无法重命名或删除它。
边schema
边schema用来定义点之间的有向边,由边schema名称和一组属性类型组成。
例如,名为Links
的边schema连接任意两点,拥有属性description
(数据类型为string
):
EDGE Links ()-[{description string}]->()
边schema的名称Links
也作为其标签使用。通过标签表达式:Links
可引用该schema。
每个图都有一个内置的边schema,名为
default
。您可自由使用该schema,但无法重命名或删除它。
属性类型
属性与点schema或边schema关联,用来描述点或边的特征。每个属性类型由属性名称和属性值类型定义。例如,名为name
的属性,其数据类型为string
。
系统属性
每个点携带两条系统属性_id
和_uuid
,是点数据的唯一标识符。点的_id
值可以手动指定,但需确保该值唯一,而_uuid
值由系统自动生成。
系统属性 |
值类型 | 描述 |
---|---|---|
_id |
string |
点的字符串类型唯一标识符(最大长度为128字节) |
_uuid |
uint64 |
点的数值型唯一标识符 |
每条边仅携带一条系统属性_uuid
,是边数据的唯一标识符,由系统自动生成。每条边连接一个起点和一个终点,_from
/_to
和_from_uuid
/_to_uuid
用来表示边的两个端点。
系统属性 |
值类型 | 描述 |
---|---|---|
_uuid |
uint64 |
边的数值型唯一标识符 |
_from |
string |
边起点的_id |
_to |
string |
边终点的_id |
_from_uuid |
uint64 |
边起点的_uuid |
_to_uuid |
uint64 |
边终点的_uuid |
命名规范
图
数据库中所有图名称必须唯一。图名称需满足:
- 包含2~64个字符
- 以字母开头
- 允许的字符:字母(A-Z,a-z),字母(0-9),下划线(
_
)
点schema和边schema
每个点schema或边schema的名称需满足:
- 包含2~64个字符
- 不能以波浪号
~
开头 - 不能包含反引号
`
- 不能使用系统属性名或保留关键字
同一图集中,点schema不能重名,边schema不能重名,但点schema可以和边schema重名。
属性
每个属性名需满足:
- 包含2~64个字符
- 不能以波浪号
~
开头 - 不能包含反引号
`
- 不能使用系统属性名或保留关键字
同个点schema或边schema下,属性名需唯一。