图引擎服务 GES-Gremlin查询:Gremlin查询语句

时间:2024-03-29 09:07:14

Gremlin查询语句

常用的查询语句如下所示:

  • 点查询

    g.V().limit(100):查询所有点,但限制点的返回数量为100,也可以使用range(x, y)的算子,返回区间内的点数量。

    g.V().hasLabel('movie') :查询点的label值为'movie'的点。

    g.V('11') :查询id为‘11’的点。

    1. 不推荐使用“g.V()”语法,由于点过大时,这种查询方式影响展示效果。
    2. 为了避免返回数据过大导致系统查询耗时过长,强烈建议您添加limit参数,并且将limit参数设置在1000以内,展示效果更佳。
  • 边查询

    g.E():查询所有边,不推荐使用,边数过大时,这种查询方式不合理,一般需要添加过滤条件或限制返回数量。

    g.E('55-81-5'):查询边id为‘55-81-5’的边。

    g.E().hasLabel('rate'):查询label为‘rate’的边。

    g.V('46').outE('rate'):查询点id为‘46’所有label为‘rate’的边。

  • 属性查询

    g.V().limit(3).valueMap():查询点的所有属性(可填参数,表示只查询该点, 一个点所有属性一行结果)。

    g.V().limit(1).label():查询点的label。

    g.V().limit(10).values('userid'):查询点的name属性(可不填参数,表示查询所有属性, 一个点每个属性一行结果,只有value,没有key)。

  • 新增点

    g.addV('user').property(id,'600').property('age','18-24'):新增点,Label为user,ID为600,age为18-24。

  • 删除点

    g.V('600').drop():删除ID为600的点。

  • 新增边

    g.addV('user').property(id,'501').property('age','18-24')

    g.addV('movie').property(id,'502').property('title','love')

    g.addE('rate').property('Rating', '4').from(V('501')).to(V('502'))

    分别添加点,然后新增边,边的两个点ID分别为501、502。

  • 删除边

    g.E('501-502-0').drop():删除ID为“501-502-0”的边。

  1. 如果您输入了多个Gremlin查询命令,可以在输入框中通过上下方向键来查找历史命令。
  2. Gremlin查询支持联想历史记录的功能,根据您输入的语法关键字会自动显示您刚输入过的语法供您参考和选择,帮助您提高查询效率。
    图2 Gremlin联想查询
  3. 输入栏中的关键词,不同的类型会呈现出不同的颜色,具体颜色区分如下:
    • 保留字:灰色

      注意:保留字是编程语言中的一类语法结构。在特定的编程语言里,这些保留字具有较为特殊的意义,并且在语言的格式说明里被预先定义。

    • String类型:橙色
    • 分隔符(包含 [] {} , ; () . 等):红色
    • 变量:绿色
    图3 Gremlin关键字高亮
support.huaweicloud.com/usermanual-ges/ges_01_0024.html