本文介绍如何管理图中的点、边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