图数据库nebula——常用的nGQL

本文档详细介绍了NebulaGraph数据库的图空间管理、点和边的操作、索引创建与管理,以及复杂的查询语法,包括GO、LOOKUPON、MATCH等。此外,还涉及到了数据生命周期TTL的设置,帮助用户全面理解如何在NebulaGraph中高效地存储和查询数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、图空间:

(1)创建图空间:

(2)查看图控件列表:

(3)切换图空间:

(4)删除图空间:

(5)查看分片分布情况:

(6)开始分片重新分布:

(7)查看分片重新分布状态:

(8)停止分片重新分布:

2、点:

(1)创建点类型:

(2)查看所有点类型:

(3)查看点类型的属性:

(4)删除点类型:

(5)插入点:

(6)更新点:

(7)FETCH查看单个点及属性:

(8)FETCH查看多个点即属性:

(9)删除点:

3、边:

(1)创建边类型:

(2)查询所有边类型:

(3)查看边类型的属性:

(4)删除边类型:

(5)插入边:

(6)更新边:

(7)FETCH查看边及属性:

(8)删除边:

4、索引:

(1)创建点单属性索引:

(2)创建点多属性索引:

(3)列出点索引:

(4)查看点索引信息:

(5)重构点索引:

(6)查看重构点索引是否成功:

(7)删除点索引:

(8)创建边单属性索引:

(9)创建边多属性索引:

(10)列出边索引:

(11)查看边索引信息:

(12)重构边索引:

(13)查看重构边索引是否成功:

(14)删除点索引:

5、综合查询:

(1)GO查询点的某个边的正向:

(2)GO查询点的某个边的反向:

(3)GO查询点的某个边的所有方向:

(4)GO查询点的某个边并筛选及指定返回属性:

(5)GO查询点的某个边的N级:

(6)GO查询点的某个边的M到N级:

(7)LOOKUP ON:

(8)MATCH查询某类实体点的前几个:

(9)MATCH查询某类实体点包含某个属性的前几个:

(10)MATCH查询点的vid并显示前几个:

(11)MATCH查询某类实体所有关系的前几条:

(12)MATCH查询某类实体的某种关系的前几条:

(13)MATCH查询点的属性并显示所有关系的前几条:

(14)MATCH查询起点vid的某种关系的并显示前几条:

(15)FIND查询两点之间所有边:

(16)管道查询:

(17)自定义变量组合查询:

6、数据声明周期TTL:


1、图空间:

(1)创建图空间:

执行命令:CREATE SPACE gods(partition_num=15, replica_factor=1, vid_type=fixed_string(30));

partition_num:分片数量,通常为全集群硬盘数量的 5 倍。

replica_factor:副本数量,通常生产环境为 3,测试环境为 1。

vid_type:主键类别

(2)查看图控件列表:

执行命令:SHOW SPACES;

(3)切换图空间:

执行命令:USE gods;

(4)删除图空间:

执行命令:DROP SPACE gods

仅支持有 DROP 权限的用户进行此操作。DROP SPACE 将删除指定 space 内的所有内容,其他 space 不受影响。该语句不会立即删除存储引擎中的所有文件和目录(并释放磁盘空间)。删除操作取决于不同存储引擎的实现。

(5)查看分片分布情况:

执行命令:SHOW HOSTS;

(6)开始分片重新分布:

执行命令:BALANCE DATA;

(7)查看分片重新分布状态:

执行命令:BALANCE DATA <balance_id>

(8)停止分片重新分布:

执行命令:BALANCE DATA STOP

2、点:

(1)创建点类型:

执行命令:CREATE TAG player(name string, age int);

(2)查看所有点类型:

执行命令:SHOW TAGS;

(3)查看点类型的属性:

执行命令:DESCRIBE TAG player;

(4)删除点类型:

执行命令:DROP TAG player

删除标签时Nebula Graph将判断相应标签是否有关联的索引,如果有则拒绝删除。 一个节点可以有一个或多个标签(类型)。删除所有标签后,节点将不可访问,同时与节点连接的边也不可使用。删除单个标签后,节点仍可访问,但是已删除标签的属性不可访问。此操作仅删除 Schema 信息,硬盘中所有文件及目录均未被直接删除,数据会在下次 compaction 时删除。

(5)插入点:

执行命令:INSERT VERTEX player(name, age) VALUES "player100vid":("Tim Duncan", 42);

(6)更新点:

执行命令:UPDATE VERTEX "player100vid" SET player.name = "Tim";

(7)FETCH查看单个点及属性:

执行命令:FETCH PROP ON player "player100vid";

(8)FETCH查看多个点即属性:

执行命令:FETCH PROP ON player "player100vid" union FETCH PROP ON player "player101vid";

说明:就是FETCH查看单个点及属性的nGQL,通过union进行拼接。

(9)删除点:

执行命令:DELETE VERTEX "player100vid", "player101vid"

3、边:

(1)创建边类型:

执行命令:CREATE EDGE follow(degree int);

(2)查询所有边类型:

执行命令:SHOW EDGES;

(3)查看边类型的属性:

执行命令:DESCRIBE EDGE follow;

(4)删除边类型:

执行命令:DROP EDGE follow

删除边时Nebula Graph将判断相应边是否有关联的索引,如果有则拒绝删除。此操作将移除指定类型的所有边。此操作仅删除 Schema 信息,硬盘中所有文件及目录均未被直接删除,数据会在下次 compaction 时删除。

(5)插入边:

执行命令:INSERT EDGE follow(degree) VALUES "player100vid" -> "player101vid":(95);

&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值