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

Executing an Algorithm on a Subgraph

Introduction

This API is used to adjust the subgraph creation type based on the input and executes an algorithm on the generated subgraph.

URL

POST /ges/v1.0/{project_id}/graphs/{graph_name}/subgraphs/action?action_id=execute-algorithm

Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID, which is used for resource isolation. Obtain the project ID by following the instructions in "Obtaining the Project ID".

graph_name

Yes

String

Graph name

Request

  • Example request
    POST  http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/subgraphs/action?action_id=execute-algorithm
     { 
      "algorithmName":"connected_component",
    "subgraphCreator": {
            "name": "filtered",
            "parameters": {
                "edge_filter": {
                    "property_filter": {
                        "leftvalue": {
                            "label_name": "labelName"
                        },
                        "predicate": "=",
                        "rightvalue": {
                            "value": "PHYSICAL_LINK"
                        }
                    }
                }
            }
       },
     "parameters":{ 
             "num_thread":4 
      } 
     }
  • Parameters
    Table 1 Request body parameter description

    Parameter

    Mandatory

    Type

    Description

    algorithmName

    Yes

    String

    Algorithm name

    Available values are as follows:

    • connected_component
    • kcore

    parameters

    Yes

    JSON

    Algorithm parameters

    subgraphCreator

    Yes

    Json

    Subgraph parameters For details, see subgraphCreator parameters.

    Table 2 subgraphCreator parameters

    Parameter

    Mandatory

    Type

    Description

    name

    No

    String

    Type of the subgraph creator

    The values are as follows:

    • filtered (currently available)

      The following value will be available in the future:

    • import_edgelist…

    parameters

    Yes

    JSON

    The parameter format varies according to the name of the subgraph creator.

    Table 3 Parameters when name=filtered

    Parameter

    Mandatory

    Type

    Description

    vertex_filter

    No

    String

    Vertex filtering criteria

    edge_filter

    No

    String

    Edge filtering criteria

Response

Table 4 Parameters

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.

job_id

No

String

ID of the algorithm execution job. This parameter is left blank if the request fails.

NOTE:

You can view the job execution status and obtain the return result by querying the job ID. For details, see Job Management APIs.

jobType

No

Integer

Task type. This parameter is left blank if the request fails.

  • Response example (successful request)
    Http Status Code: 200
    { 
    "jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122",
    "jobType": 1
    }
  • Response example (failed request)
    Http Status Code: 400
    {
    "errorMessage":"graph [demo] is not found",
    "errorCode":"GES.8402"
    }

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.