本文介绍管理如何图中的属性。
显示属性
获取当前图中点Schema User的属性:
SHOW NODE User PROPERTY
获取当前图中边Schema Joins的属性:
SHOW EDGE Joins PROPERTY
属性信息展示在不同表格中:
- 点属性:
_nodeProperty包含所有点属性,_nodeProperty_shard_<id>包含存储在某个Shard中的点属性。 - 边属性:
_edgeProperty包含所有边属性,_edgeProperty_shard_<id>包含存储在某个Shard中的边属性。
嬴图Manager中只显示
_nodeProperty和_edgeProperty表。
表中包含以下字段:
字段 |
描述 |
|---|---|
name |
属性名称 |
type |
属性值类型 |
lte |
属性是否已加载至分片内存以加速查询 |
read |
当前数据库用户能否读取该属性,1表示允许,0表示禁止 |
write |
当前数据库用户能否写入该属性,1表示允许,0表示禁止 |
schema |
属性关联的Schema |
description |
属性的注释 |
encrypt |
加密属性的方法 |
创建属性
ALTER NODE或ALTER EDGE语句可用来在当前图中为一个或全部点或边Schema创建属性。
参考:
整数类属性
支持的整数类属性值类型包括int32、uint32、int64和uint64。
ALTER NODE user ADD PROPERTY {age uint32}
小数类属性
支持的小数类属性值类型包括float、double和decimal。
ALTER EDGE links ADD PROPERTY {distance float, weight decimal(10,5)}
文本类属性
支持的文本类属性值类型包括string和text,其中string是默认类型。若需将属性定义为string类型,可在属性创建过程中省略类型指定过程。
ALTER NODE post ADD PROPERTY {title string, content text}
时间类属性
支持的时间类属性值类型包括date、local datetime、local time、zoned datetime、zoned time、timestamp、datetime、duration(year to month)和duration(day to second)。
ALTER NODE post ADD PROPERTY {createdOn local datetime, visibilityPeriod duration(year to month)}
布尔类属性
支持的布尔类属性值类型为bool。
ALTER NODE city ADD PROPERTY {isCapital bool}
空间类属性
支持的空间类属性值类型为point和point3d。
ALTER NODE city ADD PROPERTY {position point}
列表类属性
支持的列表类属性值类型为list<subType>,子类型支持除bool外的其他所有属性值类型。
ALTER NODE user ADD PROPERTY {interests list<string>}
为所有Schema创建属性
为所有边schema创建属性time:
ALTER EDGE * ADD PROPERTY {time date}
修改属性名称和注释
ALTER NODE或ALTER EDGE语句可用来修改当前图中与一个点或边Schema关联的属性的名称和注释。
将当前图中User点的属性name重命名为username:
ALTER NODE User name RENAME TO username
将当前图中Follows边的属性createdOn重命名为startDate:
ALTER EDGE Follows createdOn RENAME TO startDate
更新当前图中User点属性name的注释:
ALTER NODE User name COMMENT "Contains 5 to 64 characters"
更新当前图中Follows边属性createdOn的注释:
ALTER EDGE Follows createdOn COMMENT "When the relationship is established"
使用一个ALTER NODE或ALTER EDGE语句同时修改属性名称和注释:
ALTER NODE User name RENAME TO username COMMENT "Contains 5 to 64 characters"
ALTER EDGE Follows createdOn RENAME TO startDate COMMENT "When the relationship is established"
删除属性
ALTER NODE或ALTER EDGE语句可用来从当前图中删除与一个或全部点或边Schema关联的属性。属性删除后,所有相关数据都将删除,其中包括属性值以及关联的索引、全文索引和加载到内存中的值。
删除user点的属性name和age:
ALTER NODE user DROP PROPERTY name, age
删除links边的属性time:
ALTER EDGE links DROP PROPERTY time
删除所有点的属性location:
ALTER NODE * DROP PROPERTY location