第4期 Gremlin Steps:
count()
、range()
、limit()
、tail()
、skip()
本系列文章的Gremlin示例均在HugeGraph图数据库上执行,环境搭建可参考准备Gremlin执行环境,本文示例均以其中的“TinkerPop关系图”为初始数据。
图查询返回结果数限制说明
Gremlin能统计查询结果集中元素的个数,且允许从结果集中做范围截取。假设某个查询操作(如:g.V()
)的结果集包含8个元素,我们可以从这8个元素中截取指定部分。主要包括:
count()
: 统计查询结果集中元素的个数;range(m, n)
: 指定下界和上界的截取,左闭右开。比如range(2, 5)
能获取第2个到第4个元素(0作为首个元素,上界为-1时表示剩余全部);limit(n)
: 下界固定为0,指定上界的截取,等效于range(0, n)
,语义是“获取前n
个元素”。比如limit(3)
能获取前3个元素;tail(n)
: 上界固定为-1,指定下界的截取,等效于range(count - n, -1)
,语义是“获取后n
个元素”。比如tail(2)
能获取最后的2个元素;skip(n)
: 上界固定为-1,指定下界的截取,等效于range(n, -1)
,语义是“跳过前n
个元素,获取剩余的元素”。比如skip(6)
能跳过前6个元素,获取最后2个元素。
实例讲解
下面通过实例来深入理解每一个操作。
-
Step
count()
:查询当前traverser
中的元素的个数,元素可以是顶点、边、属性、路径等。示例1:查询图中所有顶点的个数
g.V().count()
TinkerPop关系图
的圆点就是顶点,总共12个。示例2:查询图中类型为“