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

Cesna

Function

This API is used to run the Cesna algorithm based on input parameters.

The Cesna algorithm is an overlapping community detection algorithm that models the relationship between vertices and communities as a bipartite graph. Assume that the edges between vertices in the graph are generated based on community relationships. In addition, this algorithm also models communities based on vertex properties, assuming that vertex properties are also generated based on community relationships.

URI

POST /ges/v1.0/{project_id}/hyg/{graph_name}/algorithm
Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For 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

algorithmName

Yes

String

Algorithm name

parameters

Yes

parameters Object

Algorithm parameters

Table 3 parameters

Parameter

Mandatory

Type

Description

convergence

No

Double

Convergence accuracy. The value range is (0, 1). The default value is 0.00001.

max_iterations

No

Integer

Maximum iterations. An integer ranging from 1 to 2147483647. For frontend calls, the range is [1, 2000]. The default value is 100.

community_num_space

Yes

String

Search space for the number of communities, with multiple integer values separated by commas (,). There can be a maximum of 100 values, and each integer value must be within the range of [1, 10000].

learning_rate

No

Double

Model learning rate. The value is greater than 0. The default value is 0.01.

holdout_rate

No

Double

Proportion of the validation set required for cross-validation, with a value range of (0, 1) and a default value of 0.1.

node_attributes

Yes

String

Format of vertex properties, with multiple integers separated by semicolons (;). Each integer represents the index of an element with a value of 1 in a binary array. For example, 1;2;3 means that the vertex has a value of 1 in dimensions 1, 2, and 3, and a value of 0 in all other dimensions. The index of vertex properties is greater than or equal to 0 and less than 10,000, and the number of indexes is less than or equal to 10,000.

Response Parameters

Parameter

Type

Description

errorMessage

String

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

errorCode

String

System prompt. If execution succeeds, this parameter may be left blank. If the 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 use the returned job ID to view the task execution status and obtain the algorithm return result. For details, see Querying Job Status on the Service Plane (1.0.0).

jobType

Integer

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

Example Request

POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/algorithm   
{
 "algorithmName":"cesna",
 "parameters":{
        "community_num_space":"3,2,10"
 }
 }

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

Query Result

  • Example Request
    GET http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{jobId}/status?limit=limit
  • Query result response
    Table 4 response_data parameter description

    Parameter

    Type

    Description

    community_num

    Integer

    Number of communities

    communities

    List

    Community corresponding to each vertex. The format is as follows:

    [{vertexId1:communityIds},{vertexId2:communityIds}],

    where

    vertexId is of the string type.

    communityIds: list type. Each element is of the int type.

    log_likelihood

    Double

    Logarithmic value of the joint probability of edges between model vertices calculated by the current graph generation model. The larger the value, the more accurate the estimated number of communities.

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.