
# 时序路径分析(Temporal Paths) - DynamicGraphAnalysisPath
#### 功能介绍
根据输入参数，执行时序路径分析算法。
注意：两点之间仅返回一条满足条件的时序路径。
#### URI
POST /ges/v1.0/{project_id}/graphs/{graph_name}/dynamicgraphs/action?action_id=execute-analysis
表1路径参数 
| 参数         | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-ges/ges_03_0111.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值：** 不涉及。 |
| graph_name | 是    | String | **参数解释：** 图名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                          |
   
#### 请求参数
表2Body参数说明 
| 参数            | 是否必选 | 类型                                                     | 说明                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| algorithmName | 是    | String                                                 | **参数解释：** 算法名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 取值为temporal_paths。  |
| parameters    | 是    | [parameters] Object     | **参数解释：** 算法参数。详情请参考各算法参数描述。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| dynamicRange  | 是    | [dynamicRange] Object | **参数解释：** 动态分析时间参数。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。         |
   
 表3parameters 
| 参数       | 是否必选 | 类型      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| source   | 是    | String  | **参数解释：** 起点id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                |
| targets  | 是    | String  | **参数解释：** 终点id集合。 **约束限制：** csv格式，ID之间以英文逗号分隔，例如："Alice,Nana"。 个数不大于100000。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                   |
| directed | 否    | Boolean | **参数解释：** 是否考虑边的方向。 **约束限制：** 不涉及。 **取值范围：** 取值为true 或false。 **默认取值：** 默认值为false。                                                                                                                                                                                                                                                                           |
| k        | 否    | Integer | **参数解释：** 最大深度。 **约束限制：** 不涉及。 **取值范围：** 1-100，包括1和100。 **默认取值：** 默认值为3。                                                                                                                                                                                                                                                                                     |
| strategy | 否    | String  | **参数解释：** 运行的算法策略。 **约束限制：** 不涉及。 **取值范围：** 取值为：shortest，foremost。 - shortest：运行shortest temporal paths算法，返回距离最短的时序路径  - foremost：运行foremost temporal paths算法，返回尽可能早的到达目标节点的时序路径   **默认取值：** 默认值为shortest。 |
   
 表4dynamicRange 
| 参数         | 是否必选 | 类型                                                     | 说明                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| start      | 是    | Date/ Integer                                          | **参数解释：** 动态分析起始时间。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。      |
| end        | 是    | Date/ Integer                                          | **参数解释：** 动态分析终止时间 。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。  |
| time_props | 是    | [time_props] Object | **参数解释：** 动态分析的时间属性定义。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
 表5time_props 
| 参数    | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| stime | 是    | String | **参数解释：** 开始时间属性名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| etime | 是    | String | **参数解释：** 结束时间属性名称 。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。       |
   
#### 响应参数
表6响应参数说明 
| 参数           | 类型     | 说明                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| errorMessage | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误信息。   **取值范围**： 不涉及。     |
| errorCode    | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误码。   **取值范围**： 不涉及。 |
| data         | Json   | **参数解释**： 时序路径分析的结果详情。 **取值范围**： 不涉及。                                                                                                                                                                                                 |
   
#### 请求示例
指定起始节点id搜索周围与之相关联的点，算法名称为temporal_paths，动态分析的开始时间为1646092800，结束时间为1646170716，起点id为Person00014。
```
POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/dynamicgraphs/action?action_id=execute-analysis 
 {
  "algorithmName":"temporal_paths",
  "dynamicRange":{
    "start":1646092800,
    "end":1646170716,
    "time_props":
        {"stime":"startTime","etime":"endtime"}
    },
  "parameters":{
        "source":" Person00014",
        "targets":"Person00055,Person00058,Person00052,Person00061,Person00060,Place00032,Place00016,Place00026,Place00015,Place00043",
        "strategy":"shortest",
        "directed":true
  }
}
```
#### 响应示例
**状态码： 200**
成功响应示例
```
Http Status Code: 200
{
"data": {
"outputs": {
"data_return_size": 1,
"direct": 1,
"runtime": 0.00011,
"temporal_paths": [
[{
"Person00014": {
"arrive": 1646092800,
"dist": 0,
"predecessor": ""
}
}, {
"Place00016": {
"arrive": 1647169795,
"dist": 1,
"predecessor": "Person00014"
}
}]
],
"data_offset": 0,
"data_total_size": 1
}
}
}
```
**状态码： 400**
失败响应示例
```
Http Status Code: 400
{
    "errorMessage": "Not found. Please check the input parameters.",
    "errorCode": "GES.8000"
}
```
#### 状态码
| 返回值                       | 说明     |
|:---|:---|
| 400 Bad Request           | 请求错误   |
| 401 Unauthorized          | 鉴权失败   |
| 403 Forbidden             | 没有操作权限 |
| 404 Not Found             | 找不到资源  |
| 500 Internal Server Error | 服务内部错误 |
| 503 Service Unavailable   | 服务不可用  |
   
