图引擎服务 GES-执行Cypher查询:请求参数

时间:2024-04-29 11:34:09

请求参数

表2 Body参数说明

参数

是否必选

类型

说明

statements

List

statements为一个语句组,包含一到多条语句。其中每个元素的格式如表 statements参数说明

表3 statements参数说明

参数

是否必选

类型

说明

statement

String

Cypher语句。

parameters

Object

Cypher语句参数,在进行参数化查询时使用,默认为空。

如需使用,请参考参数化查询

resultDataContents

String或List

返回的结果样式,样式可设置一个或多个。可选参数有“row”,”graph”, “raw”(2.2.27版本新增)。

includeStats

Boolean

控制返回结果是否携带增删改统计信息的开关,若不设置此字段,默认为不携带。

runtime

String

执行器类型,可选值为“map”、“slotted” 、“block”,默认为“map”。slotted执行器自2.3.15版本开始支持,block执行器自2.4.1版本开始支持。

executionMode(2.2.23)

String

执行模式。同步执行模式填写“sync”,异步执行填写“async”,不写默认同步执行。异步模式下,获取查询结果参见查询Job状态

limit(2.2.23)

Int

该字段仅在异步模式下生效,表示对异步结果的最大结果数限制,默认值为100000。

transactional

Bool

控制Cypher请求是否为事务的。默认为false。更多详细Cypher事务介绍参见Cypher事务

  • 在语句前可以添加explain和profile前缀,用于显示查询计划: explain只显示查询计划,不执行语句;profile显示查询计划,并执行语句。
  • runtime字段说明:与map执行器相比,slotted执行器在语句的计划生成阶段完成了更多的语句数据流分析,在大部分情况下执行速度更快,占用内存更少。
  • 在异步模式(executionMode参数值为async)下,支持cypher查询结果以csv格式导出到文件(GES版本2.3.4及以上支持该功能),详情请参考导出job返回结果到文件(2.2.1)。目前支持下列对象的返回:
    1. 点边单值属性、点边id、分组计数结果等值类型。
    2. 对于对象类型,目前的版本暂不支持导出,csv中视作空值处理。
  • Cypher事务(仅持久化版规格有效):
    1. 持久化版规格下Cypher支持事务,用户可以通过设置transactional为true来开启Cypher的事务功能,以保证单条Cypher语句的原子性。对于多条Cypher语句的事务暂不支持。事务的隔离级别为串行化(serializability)。
    2. 由于底层存储引擎存在5s的事务时间窗口限制,因此Cypher的事务不可超过5s。对于复杂的查询,比如说多跳,运行时间可能会超过5s,从而触发超时导致提交失败。

      使用Cypher的dbms.killQuery过程可以终止Cypher事务(详见Cypher API-函数和过程), 并回滚这条Cypher请求造成的所有改动。

support.huaweicloud.com/api-ges/ges_03_0474.html