本文介绍管理图中点Schema和边Schema的语句。
显示Schema
使用语句SHOW NODE SCHEMA
和SHOW EDGE SCHEMA
获取当前图中点Schema和边Schema信息。
SHOW NODE SCHEMA
SHOW EDGE SCHEMA
Schema信息展示在不同的表中:
- 点Schema:
_nodeSchema
包含所有点Schema,_nodeSchema_shard_<id>
包含存储在Shard<id>
中的点Schema。 - 边Schema:
_edgeSchema
包含所有边Schema,_edgeSchema_shard_<id>
包含存储在Shard<id>
中的边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。
<alter graph statement> ::=
"ALTER GRAPH" <graph name> { <add node schemas> | <add edge schemas> }
<add node schemas> ::=
"ADD NODE" "{" <add node schema> [ { "," <add node schema> }... ] "}"
<add node schema> ::=
<schema name> "(" [ <property types> ] ")"
<add edge schemas> ::=
"ADD EDGE" "{" <add edge schema> [ { "," <add edge schema> }... ] "}"
<add edge schema> ::=
<schema name> "()-[" [ <property types> ] "]->()"
<property types> ::=
"{" <property type> [ { "," <property type> }... ] "}"
<property type> ::=
<property name> <property value type> [ <property description> ]
详情
每个点或边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 datetime}]->(),
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
修改Schema描述
ALTER NODE
或ALTER EDGE
语句可用来修改当前图中的点或边Schema的描述。
更新当前图中User
点Schema的描述:
ALTER NODE User COMMENT "Users from self-registration"
更新当前图中Follows
点Schema的描述:
ALTER EDGE Follows 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