
# 添加label(1.1.6) - AddLabel
#### 功能介绍
添加label。
#### URI
POST /ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels
表1路径参数 
| 参数         | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-ges/ges_03_0111.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值：** 不涉及。 |
| graph_name | 是    | String | **参数解释：** 图名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                          |
   
#### 请求参数
- 请求参数说明
  表2Body参数说明 
  | 参数         | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                          |
  |:---|:---|:---|:---|
  | name       | 是    | String | **参数解释：** label名称。 **约束限制：** label name的长度不能超过256。 label name只允许字符，数字, 空格，%,@,#,$,:,?,\*,.,+,-和_符号。 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
  | type       | 否    | String | **参数解释：** Label类别，表示此label用于点或边 **约束限制：** 不涉及。 **取值范围：** 取值为"vertex"或"edge"或"all"。 **默认取值：** 默认值为"all"，表示label作用于点和边。                                                                                      |
  | properties | 是    | Object | **参数解释：** 待添加属性数组。具体参数介绍请见[properties参数说明]。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                 |
     
   表3properties参数说明 
  | 参数       | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                      |
  |:---|:---|:---|:---|
  | property | 否    | Object | **参数解释：** label的属性。具体参数介绍请见[property参数说明]。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
     
   表4property参数说明 
  | 参数            | 是否必选                  | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
  |:---|:---|:---|:---|
  | name          | 是                     | String | **参数解释：** 属性名称。 **约束限制：** 1. property name的长度不能超过256。  2. property name不允许包含\<, \>, \&, ASCII码14,15和30。  3. 同一个label下不允许存在相同的property。   **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
  | cardinality   | 是                     | String | **参数解释：** 属性的复合类型。 **约束限制：** 不涉及。 **取值范围：** - single  - list  - set   **默认取值：** 不涉及。                                                                      |
  | dataType      | 是                     | String | **参数解释：** 属性的数据类型。具体请参考[元数据属性约束条件](https://support.huaweicloud.com/api-ges/ges_03_0366.html#ges_03_0366__table4745705017248)中的元数据类型。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                      |
  | typeNameCount | 否（若dataType为enum，则必选） | String | **参数解释：** enum类型参数的总数。由该选项控制typeName的个数。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                  |
  | typeName\*    | 否（若dataType为enum，则必选） | String | **参数解释：** enum类型参数名称。例如typeNameCount为2，则参数包含typeName1:science，typeName2:literature。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                            |
     
  
 
#### 响应参数
表5要素说明 
| 参数           | 类型     | 说明                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| errorMessage | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误信息。   **取值范围**： 不涉及。     |
| errorCode    | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误码。   **取值范围**： 不涉及。 |
| result       | String | **参数解释**： 响应结果。成功时result值为success。 **取值范围**： 不涉及。                                                                                                                                                                                   |
   
#### 请求示例
添加label，label的名称为book，label一共有三个待添加的属性。
```
POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels  
{
  "name": "book",
  "type": "vertex",
  "properties": [
    {
      "property": {
        "name": "Title",
        "cardinality": "single",
        "dataType": "string"
      }
    },
    {
      "property": {
        "name": "Version",
        "cardinality": "single",
        "dataType": "string"
      }
    },
    {
      "property": {
        "name": "Category",
        "typeName1": "science",
        "typeName2": "literature",
        "typeNameCount": "2",
        "cardinality": "single",
        "dataType": "enum"
      }
    }
  ]
}
```
![](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"
}
```
**状态码： 400**
失败响应示例
```
Http Status Code: 400
{
    "errorMessage": "Label : book already exists",
    "errorCode": "GES.8801"
}
```
#### 状态码
| 返回值                       | 说明          |
|:---|:---|
| 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)。
