CREATE EDGE
CREATE EDGE
语句可以通过指定名称创建一个Edge type。
OpenCypher兼容性
nGQL中的Edge type和openCypher中的关系类型相似,但又有所不同,例如它们的创建方式。
- openCypher中的关系类型需要在
CREATE
语句中与点一起创建。 - nGQL中的Edge type需要使用
CREATE EDGE
语句独立创建。Edge type更像是MySQL中的表。
前提条件
执行CREATE EDGE
语句需要当前登录的用户拥有指定图空间的创建Edge type权限,否则会报错。
语法
创建Edge type前,需要先用USE
语句指定工作空间。
CREATE EDGE [IF NOT EXISTS] <edge_type_name>
(
<prop_name> <data_type> [NULL | NOT NULL] [DEFAULT <default_value>] [COMMENT '<comment>']
[{, <prop_name> <data_type> [NULL | NOT NULL] [DEFAULT <default_value>] [COMMENT '<comment>']} ...]
)
[TTL_DURATION = <ttl_duration>]
[TTL_COL = <prop_name>]
[COMMENT = '<comment>'];
参数 | 说明 |
---|---|
IF NOT EXISTS | 检测待创建的Edge type是否存在,只有不存在时,才会创建Edge type。仅检测Edge type的名称,不会检测具体属性。 |
<edge_type_name> | 每个图空间内的Edge type必须是唯一的。Edge type名称设置后无法修改。Edge type名称由大小写英文字母、数字或下划线组成,区分大写小,且不可使用关键字和保留字。 |
<prop_name> | 属性名称。每个Edge type中的属性名称必须唯一。属性的命名规则与Edge type相同。 |
<data_type> | 属性的数据类型,目前支持数值、布尔、字符串以及日期与时间。 |
NULL | NOT NULL | 指定属性值是否支持为NULL 。默认值为NULL 。 |
DEFAULT | 指定属性的默认值。默认值可以是一个文字值或Nebula Graph支持的表达式。如果插入边时没有指定某个属性的值,则使用默认值。 |
COMMENT | 对单个属性或Edge type的描述。最大为256字节。默认无描述。 |
TTL_DURATION | 指定属性存活时间。超时的属性将会过期。属性值和时间戳差值之和如果小于当前时间戳,属性就会过期。默认值为0 ,表示属性永不过期。 |
TTL_COL | 指定要设置存活时间的属性。属性的数据类型必须是int 或者timestamp 。一个Edge type只能指定一个字段为TTL_COL 。更多TTL的信息请参见TTL。 |
示例
nebula> CREATE EDGE follow(degree int);
# 创建没有属性的Edge type。
nebula> CREATE EDGE no_property();
# 创建包含默认值的Edge type。
nebula> CREATE EDGE follow_with_default(degree int DEFAULT 20);
# 对字段p2设置TTL为100秒。
nebula> CREATE EDGE e1(p1 string, p2 int, p3 timestamp) \
TTL_DURATION = 100, TTL_COL = "p2";
最后更新: August 26, 2021
当前内容版权归 Nebula Graph 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Nebula Graph .