
# 边过滤查询(1.0.0) -EdgesFilterQuery
#### 功能介绍
查询满足过滤条件边的集合。
#### URI
POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=query
表1路径参数 
| 参数         | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-ges/ges_03_0111.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值：** 不涉及。 |
| graph_name | 是    | String | **参数解释：** 图名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                          |
   
#### 请求参数
表2Body参数说明 
| 参数          | 是否必选                     | 类型      | 说明                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| labels      | labels和edgeFilters两者必选其一 | String  | **参数解释：** 关系类型过滤条件。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。        |
| edgeFilters | labels和edgeFilters两者必选其一 | String  | **参数解释：** 过滤条件，按属性过滤，JsonArray格式字符串。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。            |
| offset      | 否                        | Integer | **参数解释：** 本次请求的起始位置。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。        |
| limit       | 否                        | Integer | **参数解释：** 本次查询期望返回的边的个数。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。           |
| sorts       | 否                        | Object  | **参数解释：** 结果排序的属性。 **约束限制：** JsonArray格式字符。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3sorts参数说明 
| 参数           | 是否必选                 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| key          | Key和propertyName必选其一 | String | **参数解释：** 本次查询期望返回的边的个数。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 可选值有label、property，分别表示对label和属性排序。                  |
| propertyName | Key和propertyName必选其一 | String | **参数解释：** 本次查询期望返回的边的个数。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 属性名称。                            |
| orderValue   | 否                    | String | **参数解释：** 本次查询期望返回的边的个数。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 可选"incr"和"decr"，分别表示升序和降序，默认值"incr"。 |
   
 表4edgeFilters参数结构 
| 参数           | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| propertyName | 是    | String | **参数解释：** 属性名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                     |
| predicate    | 是    | String | **参数解释：** 逻辑关系。 **约束限制：** 不涉及。 **取值范围：** 可选值"="、"\<"、"\>"、"\<="、"\>="、"range"、"has""hasNot"、"full_text_match"、"full_text_prefix"、"full_text_wildcard"、"full_text_regexp"、"full_text_fuzzy"和 "full_text_combination" 说明： has/hasNot：是否有此属性。 **默认取值：** 不涉及。 |
| values       | 否    | String | **参数解释：** 属性的值。 **约束限制：** 当predicate为full_text_combination时，values类型不是string，详见下方说明。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                         |
| type         | 否    | String | **参数解释：** 过滤条件逻辑关系。 **约束限制：** 不涉及。 **取值范围：** 可选值"and"和"or"。 **默认取值：** 默认为"and"。                                                                                                                                                                                                              |
   
![](https://support.huaweicloud.com/api-ges/public_sys-resources/note_3.0-zh-cn.png)
当predicate为"full_text_match"、"full_text_prefix"、"full_text_wildcard"、"full_text_regexp"、"full_text_fuzzy"、"full_text_combination"时，edgeFilters列表中只能有一个元素，即不能有多层过滤并列存在。labels参数不可以同时出现。当predicate为"full_text_combination"时，最外层的propertyName直接设置为"propertyName"即可， values不再是简单的string类型列表，values的每个元素有"propertyName"和"value"两个成员。如果您想使用以上全文索引的能力，需要预先调用创建全文索引的API。
#### 响应参数
表5响应Body参数 
| 参数           | 类型     | 说明                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| errorMessage | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误信息。   **取值范围**： 不涉及。     |
| errorCode    | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误码。   **取值范围**： 不涉及。 |
| jobId        | String | **参数解释**： 查询边任务ID。 说明： 可以查询jobId查看任务执行状态、获取返回结果，详情参考[Job管理API](https://support.huaweicloud.com/api-ges/ges_03_0036.html)。 **取值范围**： 不涉及。                                                               |
   
#### 请求示例
查询满足过滤条件边的集合，本次请求的起始位置为0，本次查询期望返回的边的个数为20，关系类型过滤条件为rate。
```
POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=query
{
    "offset":0,
    "limit":20,
    "labels":[
        "rate"
    ],
    "edgeFilters":[
        {
            "propertyName":"Score",
            "predicate":">=",
            "values":[
                "2"
            ]
        },
        {
            "propertyName":"Datetime",
            "predicate":"range",
            "values":[
                "1998-12-27 01:00:00",
                "2000-12-31 00:12:38"
            ],
            "type":"or"
        }
    ]
}
```
![](https://support.huaweicloud.com/api-ges/public_sys-resources/note_3.0-zh-cn.png)
SERVER_URL：图的访问地址，取值请参考[业务面API使用限制](https://support.huaweicloud.com/api-ges/ges_03_0139.html)。
#### 响应示例
**状态码： 200**
成功响应示例
```
Http Status Code: 200
{
  "jobId": "f9987cab-64d3-4b3d-ac43-e91ae0c21bef168127124",
  "jobType": 0
}
```
**状态码： 400**
失败响应示例
```
Http Status Code: 400
{
  "errorMessage": "Bad Request, parameter labels and edgeFilters cannot all be null",
  "errorCode": "GES.8103"
}
```
#### 状态码
| 返回值                       | 说明      |
|:---|:---|
| 400 Bad Request           | 请求错误。   |
| 401 Unauthorized          | 鉴权失败。   |
| 403 Forbidden             | 没有操作权限。 |
| 404 Not Found             | 找不到资源。  |
| 500 Internal Server Error | 服务内部错误。 |
| 503 Service Unavailable   | 服务不可用。  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ges/ges_03_0110.html)。
