跳转至

DELETE TAG

DELETE TAG语句可以删除指定点上的指定Tag。

Enterpriseonly

仅企业版支持本功能。

点可以有一个或多个Tag。

  • 如果某个点只有一个Tag,删除这个点上的Tag后,用户就无法访问这个点,下次Compaction操作时会删除该点,但点上的边仍然存在。
  • 如果某个点有多个Tag,删除其中一个Tag,仍然可以访问这个点,但是无法访问这个点上已删除Tag所定义的所有属性。

前提条件

登录的用户必须拥有对应权限才能执行DELETE TAG语句。详情请参见内置角色权限

语法

DELETE TAG <tag_name_list> FROM <VID>;
  • tag_name_list:指定Tag名称。多个Tag用英文逗号(,)分隔,也可以用*表示所有Tag。
  • VID:指定要删除Tag的点ID。

示例

nebula> CREATE TAG test1(p1 string, p2 int);
nebula> CREATE TAG test2(p3 string, p4 int);
nebula> INSERT VERTEX test1(p1, p2),test2(p3, p4) VALUES "test":("123", 1, "456", 2);
nebula> FETCH PROP ON * "test";
+------------------------------------------------------------+
| vertices_                                                  |
+------------------------------------------------------------+
| ("test" :test2{p3: "456", p4: 2} :test1{p1: "123", p2: 1}) |
+------------------------------------------------------------+

nebula> DELETE TAG test1 FROM "test";
nebula> FETCH PROP ON * "test";
+-----------------------------------+
| vertices_                         |
+-----------------------------------+
| ("test" :test2{p3: "456", p4: 2}) |
+-----------------------------------+

nebula> DELETE TAG * FROM "test";
nebula> FETCH PROP ON * "test";
+-----------+
| vertices_ |
+-----------+
+-----------+

Compatibility

  • 在 openCypher 中,可以使用 REMOVE v:LABEL 语句来移除该点 vLABEL;
  • 相同语意,但不同语法。在 nGQL 中使用 DELETE TAG;

最后更新: October 19, 2021
Back to top