
# 执行子图算法 - SubgraphExecuteAlgorithm
#### 概述
根据输入调整子图生成方式，在生成的子图上，执行特定算法。
#### URL
POST /ges/v1.0/{project_id}/graphs/{graph_name}/subgraphs/action?action_id=execute-algorithm
#### 参数说明
| 参数         | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-ges/ges_03_0111.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值：** 不涉及。 |
| graph_name | 是    | String | **参数解释：** 图名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                          |
   
#### 请求参数
表1Body参数说明 
| 参数              | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| algorithmName   | 是    | String | **参数解释：** 算法名字。 **约束限制：** 不涉及。 **取值范围：** - [connected_component算法](https://support.huaweicloud.com/api-ges/ges_03_0093.html)。  - [kcore算法](https://support.huaweicloud.com/api-ges/ges_03_0079.html)。   **默认取值：** 不涉及。                           |
| parameters      | 是    | JSON   | **参数解释：** 算法参数描述。 **约束限制：** 不涉及。 **取值范围：** - [connected_component算法](https://support.huaweicloud.com/api-ges/ges_03_0093.html)。  - [kcore算法](https://support.huaweicloud.com/api-ges/ges_03_0079.html)。   **默认取值：** 不涉及。 |
| subgraphCreator | 是    | Object | **参数解释：** 子图参数。 **约束限制：** 不涉及。 **取值范围：** [subgraphCreator参数说明]。 **默认取值：** 不涉及。                                                                                                                                                                                                                                         |
   
 表2subgraphCreator参数说明 
| 参数         | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| name       | 否    | String | **参数解释：** 子图生成器类型。 **约束限制：** 不涉及。 **取值范围：** 当前支持的取值为filtered。 **默认取值：** 不涉及。             |
| parameters | 是    | JSON   | **参数解释：** 参数名称。 **约束限制：** 子图生成器的名字不同，parameters格式不同。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3name=filtered时，parameters参数说明 
| 参数            | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| vertex_filter | 否    | String | **参数解释：** 点过滤条件。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| edge_filter   | 否    | String | **参数解释：** 边过滤条件。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。    |
   
#### 响应参数
表4响应Body参数说明 
| 参数           | 类型      | 说明                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| errorMessage | String  | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误信息。   **取值范围**： 不涉及。     |
| errorCode    | String  | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误码。   **取值范围**： 不涉及。 |
| jobId        | String  | **参数解释**： 执行算法任务ID。请求失败时，该字段为空。 说明： 可以查询jobId查看任务执行状态、获取返回结果，详情参考[Job管理API](https://support.huaweicloud.com/api-ges/ges_03_0036.html)。 **取值范围**： 不涉及。                                                  |
| jobType      | Integer | **参数解释**： 任务类型。 **取值范围**： 请求失败时，字段为空。                                                                                                                                                                                            |
   
#### 请求示例
在生成的子图上执行特定算法，算法名称为connected_component，子图生成器类型为filtered。
```
POST  http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/subgraphs/action?action_id=execute-algorithm
 { 
  "algorithmName":"connected_component",
"subgraphCreator": {
        "name": "filtered",
        "parameters": {
            "edge_filter": {
                "property_filter": {
                    "leftvalue": {
                        "label_name": "labelName"
                    },
                    "predicate": "=",
                    "rightvalue": {
                        "value": "PHYSICAL_LINK"
                    }
                }
            }
        }
   },
 "parameters":{ 
         "num_thread":4 
  } 
 }
```
#### 响应示例
**状态码： 200**
成功响应示例
```
Http Status Code: 200
{ 
"jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122",
"jobType": 1
}
```
**状态码： 400**
失败响应示例
```
Http Status Code: 400
{
"errorMessage":"graph [demo] is not found",
"errorCode":"GES.8402"
}
```
#### 状态码
| 返回值                       | 说明      |
|:---|:---|
| 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)。
