本文介绍如何管理图中的点、边Schema。
显示Schema
获取当前图的点Schema:
SHOW NODE SCHEMA
获取当前图的边Schema:
SHOW EDGE SCHEMA
Schema信息展示在不同的表中:
- 点Schema:
_nodeSchema包含所有点Schema,_nodeSchema_shard_<id>包含存储在某个Shard中的点Schema。 - 边Schema:
_edgeSchema包含所有边Schema,_edgeSchema_shard_<id>包含存储在某个Shard中的边Schema。
嬴图Manager中只显示
_nodeSchema和_edgeSchema表。
表中包含以下字段:
字段 |
描述 |
|---|---|
id |
Schema ID |
name |
Schema名称 |
description |
Schema注释 |
status |
Schema当前状态,仅有CREATED |
properties |
Schema关联的属性,每个属性包含name、id、type、description、index、fulltext、nullable、lte、read、write、encrypt和is_deleted |
另有表_graphCount统计每个Schema的点或边数量。每个边Schema是根据它连接的起点和终点的Schema的不同组合进行计数的。
创建Schema
ALTER GRAPH语句可用来在一个图中创建点Schema和边Schema。
在图g1中创建User、Club和School点Schema:
ALTER GRAPH g1 ADD NODE {
User ({username STRING COMMENT "Username, cannot be null", gender STRING}),
Club ({name STRING, since UINT32}),
School ()
}
在图g1中创建Follows和StudyAt边Schema:
ALTER GRAPH g1 ADD EDGE {
Follows ()-[{createdOn DATE}]->(),
StudyAt ()-[]->()
}
参考:
修改Schema名称和注释
ALTER NODE或ALTER EDGE语句可用来修改当前图中点或边Schema的名称和注释。
将当前图中的School点Schema重命名为University:
ALTER NODE School RENAME TO University
将当前图中的Follows边Schema重命名为Follow:
ALTER EDGE Follows RENAME TO Follow
更新当前图中User点Schema的注释:
ALTER NODE User COMMENT "Self-registration"
更新当前图中Follows边Schema的注释:
ALTER EDGE Follows COMMENT "From user to user"
使用一个ALTER NODE或ALTER EDGE语句同时修改Schema名称和注释:
ALTER NODE User RENAME TO User_s2 COMMENT "Self-registration"
ALTER EDGE Follows RENAME TO Follow COMMENT "From user to user"
删除Schema
ALTER GRAPH语句可用来从一个图中删除点Schema和边Schema。删除点或边Schema意味着同时删除该Schema的点或边。请同时留意,点被删除时,所有与其相连的边也会删除。默认的default点schema和边Schema无法删除。
Schema删除操作以作业形式进行,稍后可使用SHOW JOB <id?>确认删除操作是否完成。
从图g1中删除名为User的点Schema:
ALTER GRAPH g1 DROP NODE User
从图g1删除Follows和StudyAt两个边Schema:
ALTER GRAPH g1 DROP EDGE Follows, StudyAt