Updated on 2022-02-22 GMT+08:00

Adding a Label

Function

This API is used to add labels.

URI

  • URI format
    POST /ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels
  • Parameters
    Table 1 URI parameter description

    Parameter

    Mandatory

    Type

    Description

    project_id

    Yes

    String

    Project ID, which is used for resource isolation. For details, see Obtaining a Project ID.

    graph_name

    Yes

    String

    Graph name

Request

  • Example request
    POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels  
    {
      "name": "book",
      "properties": [
        {
          "property": {
            "name": "Title",
            "cardinality": "single",
            "dataType": "string"
          }
        },
        {
          "property": {
            "name": "Version",
            "cardinality": "single",
            "dataType": "string"
          }
        },
        {
          "property": {
            "name": "Category",
            "typeName1": "science",
            "typeName2": "literature",
            "typeNameCount": "2",
            "dataType": "enum"
          }
        }
      ]
    }

SERVER_URL: Address for accessing a graph. For details about its value, see Constraints of Using Service Plane APIs.

  • Request body parameters
    Table 2 Request body parameters

    Parameter

    Mandatory

    Type

    Description

    name

    Yes

    String

    Name of a label

    A label name can contain a maximum of 256 characters.

    Only letters, digits, spaces, and special characters %,@,#,$,:,?,*, .,+,- are allowed.

    properties

    Yes

    Json

    Property array to be added. The array element is property. For details about the parameters, see Table 3.

    Table 3 property parameters

    Parameter

    Mandatory

    Type

    Description

    name

    Yes

    String

    Property name

    1. A property name can contain a maximum of 256 characters.
    2. A property name cannot contain <, >, &, ASCII 14,15 or 30.
    3. The property under a label must be unique.

    cardinality

    Yes

    String

    Cardinality type of a property. Possible values:

    • single
    • list
    • set

    dataType

    Yes

    String

    Data type of a property. For details, see the metadata types in Table 1.

    typeNameCount

    No (This parameter is mandatory if dataType is enum.)

    String

    Total number of parameters of the enum type. This parameter controls the typeName quantity.

    typeName*

    No (This parameter is mandatory if dataType is enum.)

    String

    Names of parameters of the enum type. For example, if the value of typeNameCount is 2, the parameter contains typeName1:science and typeName2:literature.

Response

  • Parameters
    Table 4 Parameter description

    Parameter

    Mandatory

    Type

    Description

    errorMessage

    No

    String

    System prompt. If execution succeeds, this parameter may be left blank. If execution fails, this parameter is used to display the error message.

    errorCode

    No

    String

    System prompt. If execution succeeds, this parameter may be left blank. If execution fails, this parameter is used to display the error code.

    result

    No

    String

    If the execution is successful, the value of result is success.

  • Response example (successful request)
    Http Status Code: 200
    {
     "result": "success"
    }
  • Response example (failed request)
    Http Status Code: 400
     {
      "errorMessage": "label already exists",
      "errorCode": "GES.8801"
     }

Return Value

  • Normal

    200

  • Abnormal
    Table 5 Return code for failed requests

    Return Value

    Description

    400 Bad Request

    Request error.

    401 Unauthorized

    Authentication failed.

    403 Forbidden

    No operation permission.

    404 Not Found

    No resources found.

    500 Internal Server Error

    Internal service error.

    503 Service Unavailable

    Service unavailable.