Updated on 2024-05-23 GMT+08:00

Batch Adding Labels (2.2.21)

Function

This API is used to add labels in batches.

URI

POST /ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels/action?action_id=batch-add
Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

graph_name

Yes

String

Graph name

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

labels

Yes

String

Metadata labels

Table 3 label parameters

Parameter

Mandatory

Type

Description

name

Yes

String

Name of a label. The value can contain a maximum of 256 characters, including numbers, spaces, and the following special characters: % @ # $:? *. + - _.

type

No

String

Label type, indicating that the label is used for vertices or edges. The value can be vertex, edge, or all. The default value is all, indicating that the label applies to vertices and edges.

properties

Yes

Object

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

Table 4 property parameter description

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 5 Response body parameters

Parameter

Type

Description

errorMessage

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

String

System prompt code.

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

result

String

Request result. If the request is successful, the value is success. If the request fails, the value is failed.

data

Object

If some labels fail to be added, this field contains the names of the failed labels and the failure causes.

Example Request

Add metadata labels and their properties in batches. The names of the metadata labels are book and movie.

POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels/action?action_id=batch-add  
{
    "labels": [
        {
            "name": "book",
            "type": "vertex",
            "properties": [
                {
                    "property": {
                        "name": "title",
                        "cardinality": "single",
                        "dataType": "string"
                    }
                }
            ]
        },
        {
            "name": "movie",
            "type": "vertex",
            "properties": [
                {
                    "property": {
                        "name": "movieid",
                        "cardinality": "single",
                        "dataType": "int"
                    }
                }
            ]
        }
    ]
}

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

Example Response

Status code: 200

Example response for a successful request

Http Status Code: 200
{
 "result": "success"
}
Example response for a partially successful request
Http Status Code: 200
{
    "result": "partial success",
    "data": {
        "failed": [
            {
                "cause": "label name is invalid  which can only contain letters, digits, space,%,@,#,$,:,?,*,.,+,- and _",
                "labelName": "book<"
            }
        ]
    }
}

Status code: 400

Example response for a failed request

Http Status Code: 400
 {
  "errorMessage": "label already exists",
  "errorCode": "GES.8801"
 }

Status Code

Return Value

Description

400 Bad Request

Request error.

401 Unauthorized

Authorization failed.

403 Forbidden

No operation permissions.

404 Not Found

No resources found.

500 Internal Server Error

Internal server error.

503 Service Unavailable

Service unavailable.

Error Code

See Error Code.