
# 添加边(2.1.2) -AddEdge
#### 功能介绍
添加边。
#### URI
POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges
表1路径参数 
| 参数         | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-ges/ges_03_0111.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值：** 不涉及。 |
| graph_name | 是    | String | **参数解释：** 图名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                          |
   
#### 请求参数
表2Body参数说明 
| 参数           | 是否必选 | 类型                                                        | 说明                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| source       | 是    | String                                                    | **参数解释：** source点名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。             |
| target       | 是    | String                                                    | **参数解释：** target点名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                |
| label        | 否    | String                                                    | **参数解释：** 边的label。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 若没有则置为"__DEFAULT__"。 |
| properties   | 否    | Object                                                    | **参数解释：** 各个属性的值。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。              |
| parallelEdge | 否    | [parallelEdge] Object | **参数解释：** 重复边处理。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                 |
   
 表3parallelEdge参数说明 
| 参数               | 是否必选 | 类型                                                                                          | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| action           | 否    | String                                                                                      | **参数解释：** 处理方式。 **约束限制：** 不涉及。 **取值范围：** 取值为allow，ignore和override。 - allow表示允许重复边。  - ignore表示忽略之后的重复边。  - override表示覆盖之前的重复边。   **默认取值：** 默认为allow。                                |
| ignoreLabel      | 否    | Boolean                                                                                     | **参数解释：** 重复边的定义，是否忽略Label。 **约束限制：** 不涉及。 **取值范围：** 取值为true或者false。 - true 表示重复边定义不包含Label，即用\<源点，终点\>标记一条边，不包含Label。  - false 表示重复边定义包含Label，即用\<源点，终点，Label\>标记一条边。   **默认取值：** 默认取true。                                                          |
| targetProperties | 否    | [targetProperties] Array | **参数解释：** 判断重复边所用的属性列表。若不为空，则会将ignoreLabel做false处理，用于包含targetProperties指定列表中属性的边的重复边定义。 **约束限制：** - 仅action取override时考虑此参数。  - 当前版本仅支持按属性覆盖，不支持按属性忽略，且每个标签仅有一个属性生效。  - 对于非single类型的属性，均视为不相等。   **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
 表4targetProperties参数说明 
|     参数     | 是否必选 |   类型   |                                                                                                                                                                说明                                                                                                                                                                |
|---|---|---|---|
| label      | 否    | String | **参数解释：** 需要按属性判断重复边的label。 **约束限制：** label和properties都是非必选，但是如果填写了label，properties也必须填写。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| properties | 否    | Array  | **参数解释：** 需要按属性判断重复边的property列表。 **约束限制：** 当前仅支持单个属性，输入多个取第一个。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                 |
   
#### 响应参数
表5响应Body参数说明 
| 参数           | 类型     | 说明                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| errorMessage | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误信息。   **取值范围**： 不涉及。     |
| errorCode    | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误码。   **取值范围**： 不涉及。 |
| result       | String | **参数解释**： 响应结果。成功时result值为success。 **取值范围**： 不涉及。                                                                                                                                                                                   |
| data         | Object | **参数解释**： 查询结果。查询成功时显示结果，若查询失败时，字段为空。 **取值范围**： 不涉及。                                                                                                                                                                                |
   
#### 请求示例
添加边，source点名称为Lily，target点名称为Rocky，边的标签名为rate。
```
POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges
{
    "source": "Lily",
    "target": "Rocky",
    "label": "rate",
    "properties": {
        "Score": [
            5
        ],
        "Datetime": [
            "2018-01-01 20:30:05"
        ]
    },
    "parallelEdge": {
        "action": "override",
        "ignoreLabel": true,
        "targetProperties": [
            {
                "label": "rate",
                "properties": [
                    "Datetime"
                ]
            },
            {
                "label": "superclassOf",
                "properties": [
                    "popularity"
                ]
            }
        ]
    }
}
```
![](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
{
 "result":"success",
 "data":{"index":"0"}
}
```
**状态码： 400**
失败响应示例
```
Http Status Code: 400
{
 "errorMessage":"Edge source vertex [Lily] does not exist",
 "errorCode":"GES.8000"
}
```
#### 状态码
| 返回值                       | 说明          |
|:---|:---|
| 202 Accepted              | 请求已接收，暂未处理。 |
| 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)。
