Updated on 2023-08-04 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. For details about how to obtain the project ID, see Obtaining a Project ID.

graph_name

Yes

String

Graph name

Request Parameters

Table 1 Request body parameters

Parameter

Mandatory

Type

Description

algorithmName

Yes

String

Algorithm name

Available values are as follows:

  • connected_component
  • kcore

parameters

Yes

JSON

Algorithm parameters

subgraphCreator

Yes

Object

Subgraph parameters For details, see subgraphCreator parameters.

Table 2 subgraphCreator parameters

Parameter

Mandatory

Type

Description

name

No

String

Type of the subgraph creator. Currently, only filtered is available.

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 Parameters

Table 4 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.

jobId

String

ID of the algorithm execution job. This parameter is left blank when 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

Integer

Job type. This parameter is left blank when the request fails.

Example Request

Execute a specific algorithm on a generated subgraph. The algorithm name is connected_component, and the subgraph generator type is filtered.

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 
  } 
 }

Example Response

Status code: 200

Example response (successful request)

Http Status Code: 200
{ 
"jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122",
"jobType": 1
}

Status code: 400

Example response for a failed request
Http Status Code: 400
{
"errorMessage":"graph [demo] is not found",
"errorCode":"GES.8402"
}

Status Codes

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 Codes

See Error Codes.