图查询返回结果数限制

Gremlin能统计查询结果集中元素的个数,且允许从结果集中做范围截取。假设某个操作(如 g.V())的结果集包含8个元素,我们可以从这8个元素中截取指定部分。

count()

Step count():统计查询结果集中元素的个数

示例:

  1. // 获取所有顶点的个数
  2. g.V().count()
  3. // 获取 label='person'的顶点数
  4. g.V().hasLabel('person').count()
  5. // 获取 label='person'的 OUT方向邻接边,且邻接边label='created'的 邻接边个数
  6. g.V().hasLabel('person').count()
  7. // 获取所有顶点的属性个数
  8. g.V().properties().count()

range()

Step range():限定查询返回元素的范围,上下界表示元素的偏移量,左闭右开。下界以 0 作为第一个元素,上界为 -1 时表示取到最后的元素。

示例:

  1. // 获取所有 label='person' 的顶点
  2. g.V().hasLabel('person').range(0, -1)
  3. // 获取坐标为2到5的顶点
  4. // 结果为:坐标为2/3/4的顶点
  5. g.V().hasLabel('person').range(2, 5)

limit()

Step limit():查询前n个元素,相当于range(0, n)

示例:

  1. // 查询前2个顶点
  2. // 结果为:坐标为0/1的顶点
  3. g.V().limit(2)
  4. // 查询前3条边
  5. g.E().limit(3)

tail()

Step tail():与limit()相反,查询的是最后n个元素,相当于:range(count - n, -1)

示例:

  1. // 查询最后2个顶点
  2. g.V().tail(2)
  3. // 查询最后3条边
  4. g.E().tail(3)

skip()

Step skip():跳过前n个元素,获取剩余的全部元素

示例:

  1. // 跳过前2个元素,获取剩余的元素
  2. g.V().skip(2)

skip在旧版本的HugeGraph中不支持。