
# 点过滤查询(1.0.0) -VertexsFilterQuery
#### 功能介绍
查询满足过滤条件的点集合。
#### URI
POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/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和vertexFilters两者必选其一 | String  | **参数解释：** 点类型过滤条件。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                |
| vertexFilters | labels和vertexFilters两者必选其一 | Object  | **参数解释：** 过滤条件，按属性过滤。 **约束限制：** JsonArray格式字符串。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| offset        | 否                          | Integer | **参数解释：** 本次请求的起始位置。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。               |
| limit         | 否                          | Integer | **参数解释：** 每页资源数量的最大值。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 默认为10。                |
| sorts         | 否                          | Object  | **参数解释：** 结果排序的属性。 **约束限制：** JsonArray格式字符。 **取值范围：** 不涉及。 **默认取值：** 不涉及。          |
   
表3sorts参数说明 
| 参数           | 是否必选                 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| key          | Key和propertyName必选其一 | String | **参数解释：** 可选值有id、label、property，分别表示对id、label和属性排序。 **约束限制：** 不涉及。 **取值范围：** 可选值有id、label、property。 **默认取值：** 不涉及。 |
| propertyName | Key和propertyName必选其一 | String | **参数解释：** 属性名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                          |
| orderValue   | 否                    | String | **参数解释：** 可选"incr"和"decr"分别表示升序和降序。 **约束限制：** 不涉及。 **取值范围：** 可选"incr"和"decr"。 **默认取值：** 默认值"incr"。                   |
   
 表4vertexFilters参数结构 
| 参数           | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| 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，详见[vertexFilters样例2]以及说明。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                  |
| type         | 否    | String | **参数解释：** 过滤条件逻辑关系。 **约束限制：** 不涉及。 **取值范围：** 可选值"and"和"or"。 **默认取值：** 默认为"and"。                                                                                                                                                                                                               |
   
#### 响应参数
表5响应Body参数 
| 参数           | 类型      | 说明                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| errorMessage | String  | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误信息。   **取值范围**： 不涉及。     |
| errorCode    | String  | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误码。   **取值范围**： 不涉及。 |
| jobId        | String  | **参数解释**： 查询节点任务ID。请求失败时字段为空。 说明： 可以查询jobId查看任务执行状态、获取返回结果，详情参考[查询Job状态(1.0.0)-业务面 - ShowJob](https://support.huaweicloud.com/api-ges/ges_03_0037.html)。 **取值范围**： 不涉及。                            |
| jobType      | Integer | **参数解释**： 任务类型。请求失败时，该字段为空。 **取值范围**： 不涉及。                                                                                                                                                                                       |
   
 #### 请求示例
查询满足过滤条件的点集合，请求的起始位置为0，每页资源数量的最大值为2，用于过滤的属性条件为movie和user，用于过滤的属性名为Age。
```
POST https://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=query  
{
   "offset":0,
   "limit":2,
   "labels": ["movies",
             "user"],
   "vertexFilters":[{
      "propertyName":"Age",
      "predicate":"=", 
      "values":["18-24"]
      }
   ]
}
```
![](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)。
vertexFilters样例1
```
[
 {
   "propertyName":"Gender",
   "predicate":"=",
   "values":["F"]
 },
 {
   "propertyName":"Age",
   "predicate":"range", 
   "values":["18-24","56+"],
   "type":"or"
 }
]
```
vertexFilters样例2（full_text_combination）
```
"vertexFilters": [
        {
            "propertyName": "propertyName",
            "predicate": "full_text_combination",
            "values": [
                {
                    "propertyName": "movieid",
                    "value": "0"
                },
                {
                    "propertyName": "title",
                    "value": "american"
                }
            ]
        }
    ]
```
![](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"时，vertexFilters列表中只能有一个元素，即不能有多层过滤并列存在。labels参数不可以同时出现。当predicate为"full_text_combination"时，最外层的propertyName直接设置为"propertyName"即可， values不再是简单的string类型列表，values的每个元素有"propertyName"和"value"两个成员。如果您想使用以上全文索引的能力，需要预先调用创建全文索引的API。
#### 响应示例
**状态码： 200**
成功响应示例
```
Http Status Code: 200
{
    "jobId": "03e774f5-29ea-4187-9508-5435f3892ead016886200",
    "jobType": 1
}
```
**状态码： 400**
失败响应示例
```
Http Status Code: 400
{
    "errorMessage": "Bad Request, parameter labels and vertexFilters cannot all be null",
    "errorCode": "GES.8203"
}
```
#### 状态码
| 返回值                       | 说明     |
|:---|:---|
| 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)。
