DROP TAGGraph
DROP TAG
语句可以删除当前工作空间内的指定Tag。
点可以有一个或多个Tag。
- 如果某个点只有一个Tag,删除这个Tag后,用户就无法访问这个点,下次Compaction操作时会删除该点,但点上的边仍然存在。
- 如果某点有多个Tag,删除其中一个Tag,仍然可以访问这个点,但是无法访问已删除Tag定义的所有属性。
删除Tag操作仅删除Schema数据,硬盘上的文件或目录不会立刻删除,而是在下一次Compaction操作时删除。
前提条件Graph
- 登录的用户必须拥有对应权限才能执行
DROP TAG
语句。详情请参见Graph。
- 确保Tag不包含任何索引,否则
DROP TAG
时会报冲突错误[ERROR (-8)]: Conflict!
。删除索引请参见Graph。
语法Graph
DROP TAG [IF EXISTS] <tag_name>;
IF NOT EXISTS
:检测待删除的Tag是否存在,只有存在时,才会删除Tag。
tag_name
:指定要删除的Tag名称。一次只能删除一个Tag。
示例Graph
nebula> CREATE TAG test(p1 string, p2 int);
nebula> DROP TAG test;
Note
nGQL中没有移除指定点的某个Tag的语句。
- 在openCypher中,可以使用
REMOVE v:LABEL
语句来移除该点v
的TagLABLE
。 - 在nGQL中,通过
CREATE TAG
和INSERT VERTEX
语句后,可以为该点增加一个TAG
;但是没有任何办法移除这个点的TAG
。
建议在schema中增加一个字段来标识软移除,例如为每个TAG的schema增加一个字段removed
。
最后更新: June 23, 2021