Source: https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/data-admin/show/show-create-graph-type/ Documentation version: v5.3.2 # SHOW CREATE GRAPH TYPE `SHOW CREATE GRAPH TYPE`命令返回创建指定图类型时所使用的 [CREATE GRAPH TYPE](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/graph-type/create/) 语句。 若图类型在创建后通过 [ALTER GRAPH TYPE](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/graph-type/alter-graph-type/) 进行了更改,则这些更改会反映在`SHOW CREATE GRAPH TYPE`的返回结果中。 Note 对非默认 Schema 或其中的对象执行操作时,用户既要通过隐式访问规则或显式`USAGE`授权获得该 Schema 的访问权,也要具备目标操作所需的权限。Schema 访问校验和目标操作所需的权限校验相互独立,满足其中一项不能替代另一项。Schema 访问控制不适用于临时图、内置 Procedure 和内置 Function。更多信息,请参见 [Schema 访问控制](https://dev-docs.yueshu.com.cn/v5.3.2/server-admin/authorization/schema-access-control/)。 ## 语法 语法图源码 show_create_graph_type_command ```` show_create_graph_type_command ::= 'SHOW' 'CREATE' 'GRAPH TYPE' (schema_reference '/')? graph_type_name ```` ## 参数 ### `schema_reference` 所引用的 Schema 路径。此处即待返回创建语句的图类型所在的 Schema 路径。 绝对路径或相对路径均可在命令中使用。若待返回创建语句的图类型不在当前会话的 Schema 中,则需指定对应 Schema 路径。关于设置和查看 Schema 的更多信息,请参见 [SESSION SET](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/sessions/set/) 和 [SHOW CURRENT_SCHEMA](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/data-admin/show/show-current-schema/)。 ### `graph_type_name` 待返回创建语句的图类型的名字。 ## 示例 以下示例基于[示例数据集](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/overview/example-dataset/)。 ### 查询当前会话的 Schema 下的图类型的创建语句 ```` SHOW CREATE GRAPH TYPE movie_type ```` 返回: ```` +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | graph_type_name | create_graph_type_statement | +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | movie_type | CREATE GRAPH TYPE IF NOT EXISTS `movie_type` AS {\n NODE TYPE `Actor` (LABEL `Person`{`id` INT64 NOT NULL, `name` STRING DEFAULT NULL, `birthDate` DATE DEFAULT NULL, PRIMARY KEY (`id`)}),\n NODE TYPE `Director` (LABEL `Person`{`id` INT64 NOT NULL, `name` STRING DEFAULT NULL, `birthDate` DATE DEFAULT NULL, PRIMARY KEY (`id`)}),\n NODE TYPE `User` (LABEL `Person`{`id` INT64 NOT NULL, PRIMARY KEY (`id`)}),\n NODE TYPE `Movie` (LABEL `Movie`{`id` INT64 NOT NULL, `name` STRING DEFAULT NULL, PRIMARY KEY (`id`)}),\n NODE TYPE `Genre` (LABEL `Genre`{`id` INT64 NOT NULL, `name` STRING DEFAULT NULL, PRIMARY KEY (`id`)}),\n EDGE TYPE `Act` (`Actor`)-[LABEL `Act`{}]->(`Movie`),\n EDGE TYPE `Direct` (`Director`)-[LABEL `Direct`{}]->(`Movie`),\n EDGE TYPE `Watch` (`User`)-[LABEL `Watch`{`rate` FLOAT DEFAULT NULL}]->(`Movie`),\n EDGE TYPE `WithGenre` (`Movie`)-[LABEL `WithGenre`{}]->(`Genre`)\n} | +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ```` 上述示例返回了当前 Schema 中创建图类型`movie_type`所使用的`CREATE GRAPH TYPE`语句。 ### 查询指定 Schema 下的图类型的创建语句 ```` ''' // 创建 Schema CREATE SCHEMA IF NOT EXISTS /my_schema ''' ''' // 为当前会话设置 Schema SESSION SET SCHEMA /my_schema ''' ''' // 查询 CREATE GRAPH TYPE 语句 SHOW CREATE GRAPH TYPE /default_schema/movie_type ''' ```` 返回: ```` +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | graph_type_name | create_graph_type_statement | +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | movie_type | CREATE GRAPH TYPE IF NOT EXISTS `movie_type` AS {\n NODE TYPE `Actor` (LABEL `Person`{`id` INT64 NOT NULL, `name` STRING DEFAULT NULL, `birthDate` DATE DEFAULT NULL, PRIMARY KEY (`id`)}),\n NODE TYPE `Director` (LABEL `Person`{`id` INT64 NOT NULL, `name` STRING DEFAULT NULL, `birthDate` DATE DEFAULT NULL, PRIMARY KEY (`id`)}),\n NODE TYPE `User` (LABEL `Person`{`id` INT64 NOT NULL, PRIMARY KEY (`id`)}),\n NODE TYPE `Movie` (LABEL `Movie`{`id` INT64 NOT NULL, `name` STRING DEFAULT NULL, PRIMARY KEY (`id`)}),\n NODE TYPE `Genre` (LABEL `Genre`{`id` INT64 NOT NULL, `name` STRING DEFAULT NULL, PRIMARY KEY (`id`)}),\n EDGE TYPE `Act` (`Actor`)-[LABEL `Act`{}]->(`Movie`),\n EDGE TYPE `Direct` (`Director`)-[LABEL `Direct`{}]->(`Movie`),\n EDGE TYPE `Watch` (`User`)-[LABEL `Watch`{`rate` FLOAT DEFAULT NULL}]->(`Movie`),\n EDGE TYPE `WithGenre` (`Movie`)-[LABEL `WithGenre`{}]->(`Genre`)\n} | +-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ```` 上述示例在当前会话中的 Schema 为`/my_schema`的情况下,返回了在`/default_schema`中创建图类型`movie_type`所使用的`CREATE GRAPH TYPE`语句。