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

Adding Edges in Batches

Function

This API is used to add edges in batches.

URI

  • URI format
    POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-add
  • Parameter description
    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

  • Request example
    POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-add
    {
        "edges": [
            {
                "source": "46",
                "target": "39",
                "label": "rate",
                "properties": {
                    "Rating": [
                        5
                    ],
                    "Datetime": [
                        "2018-01-0120:30:05"
                    ]
                }
            },
            {
                "source": "46",
                "target": "38",
                "label": "rate",
                "properties": {
                    "Rating": [
                        4
                    ],
                    "Datetime": [
                        "2018-01-0120:30:05"
                    ]
                }
            }
        ],
        "parallelEdge": {
            "action": "override",
            "ignoreLabel": true
        },
        "createNotExists": true
    }
    • SERVER_URL: Address for accessing a graph. For details about its value, see Constraints of Using Service Plane APIs.
    • In the example, if vertices 666 and 777 are not in the original graph, create vertices 666 and 777, retain the default value of each label, and add an edge.
  • Request body parameter description

    Parameter

    Mandatory

    Type

    Description

    edges

    Yes

    Json

    Edge array to be added

    parallelEdge

    No

    Object

    Repetitive edge processing

    action

    No

    String

    Processing mode of repetitive edges. The value can be allow, ignore, or override. The default value is allow.

    • allow indicates that repetitive edges are allowed.
    • ignore indicates that subsequent repetitive edges are ignored.
    • override indicates that the previous repetitive edges are overwritten.

    ignoreLabel

    No

    Boolean

    Whether to ignore labels on repetitive edges. The value is true or false, and the default value is true.

    • true: Indicates that the repetitive edge definition does not contain the label. That is, the <source vertex, target vertex> indicates an edge, excluding the label information.
    • false: Indicates that the repetitive edge definition contains the label. That is, the <source vertex, target vertex, label> indicates an edge.

    createNotExists

    No

    Boolean

    Whether to add source or target vertices that do not exist in the edges parameter before adding edges. The default value is false, which does not affect the original functions and semantics.

    If this parameter is set to true, source or target vertices that do not exist in the edges parameter are added prior to the edges.

    Table 2 edges parameter description

    Parameter

    Mandatory

    Type

    Description

    source

    Yes

    String

    Source vertex of an edge

    target

    Yes

    String

    Target vertex of an edge

    label

    Yes

    String

    Edge label

    properties

    No

    Json

    Value of each property

Response

  • 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",
     "data": {
         "edges": [
             {
                 "index": "7",
                 "source": "46",
                 "target": "39"
             },
             {
                 "index": "0",
                 "source": "46",
                 "target": "38"
             }
         ]
     }
    }
  • Response example (failed request)
    Http Status Code: 400
    {
     "errorMessage":"edge source vertex [Lily] does not exist",
     "errorCode":"GES.8000"
    }

Return Value

  • Normal

    200

  • Abnormal
    Table 3 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

    The requested resource was not found.

    500 Internal Server Error

    Internal service error.

    503 Service Unavailable

    Service unavailable.