DELETE TAG

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

Enterpriseonly

仅企业版支持本功能。

点可以有一个或多个Tag。

  • 如果某个点只有一个Tag,删除这个点上的Tag后,用户就无法访问这个点,下次Compaction操作时会删除该点,但点上的边仍然存在。

  • 如果某个点有多个Tag,删除其中一个Tag,仍然可以访问这个点,但是无法访问这个点上已删除Tag所定义的所有属性。

前提条件

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

语法

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

  • VID:指定要删除Tag的点ID。

示例

  1. nebula> CREATE TAG test1(p1 string, p2 int);
  2. nebula> CREATE TAG test2(p3 string, p4 int);
  3. nebula> INSERT VERTEX test1(p1, p2),test2(p3, p4) VALUES "test":("123", 1, "456", 2);
  4. nebula> FETCH PROP ON * "test";
  5. +------------------------------------------------------------+
  6. | vertices_ |
  7. +------------------------------------------------------------+
  8. | ("test" :test2{p3: "456", p4: 2} :test1{p1: "123", p2: 1}) |
  9. +------------------------------------------------------------+
  10. nebula> DELETE TAG test1 FROM "test";
  11. nebula> FETCH PROP ON * "test";
  12. +-----------------------------------+
  13. | vertices_ |
  14. +-----------------------------------+
  15. | ("test" :test2{p3: "456", p4: 2}) |
  16. +-----------------------------------+
  17. nebula> DELETE TAG * FROM "test";
  18. nebula> FETCH PROP ON * "test";
  19. +-----------+
  20. | vertices_ |
  21. +-----------+
  22. +-----------+

Compatibility

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

最后更新: October 19, 2021