Subgraph Matching
Function
This API is used to run the Subgraph Matching algorithm based on input parameters.
The subgraph matching algorithm is used to find all subgraphs of a given small graph that is isomorphic to a given large graph. This is a basic graph query operation and is intended to explore important substructures of a graph.
URI
POST /ges/v1.0/{project_id}/hyg/{graph_name}/algorithm
Name |
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
Name |
Mandatory |
Type |
Description |
algorithmName |
Yes |
String |
Algorithm name |
parameters |
Yes |
parameters Object |
Algorithm parameters |
Name |
Mandatory |
Type |
Description |
edges |
Yes |
String |
Set of edges of the subgraphs to be matched. The value is in standard CSV format. The start and end vertices of an edge are separated by a comma (,). Edges are separated by a newline character (\n), for example, 1,2\n2,3. |
vertices |
Yes |
String |
Label of each vertex on the subgraph to be matched. The value is in standard CSV format. Vertices and their labels are separated by commas (,), and labels are separated by newline characters (\n). For example, 1,BP\n2,FBP\n3,CP. |
n |
No |
Integer |
Maximum number of subgraphs to be searched. The value range is [1, 100000]. The default value is 100. |
batch_number |
No |
Integer |
Number of subgraphs that are batch processed in each round. The value range is [1, 1000000]. The default value is 10000. |
directed |
No |
Boolean |
Whether to consider the edge direction. The value can be true or false. The default value is true. |
statistics |
No |
Boolean |
Whether the number of all subgraphs that meet the criteria is output. The value can be true or false. The default value is false. |
Response Parameters
Name |
Type |
Description |
errorMessage |
String |
System prompt. If the 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 the 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": "subgraph_matching", "parameters": { "edges": "1,2\n2,3\n3,4\n5,6\n5,4", "vertices": "1,movie\n2,user\n3,user\n4,user\n5,user\n6,user", "statistics": "true", "directed": "true", "n": 55, "batch_number": "500" } }
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 Name
Type
Description
community
List
Community corresponding to each vertex. The format is as follows:
[{vertexId1:communityId},{vertexId2:communityId}],
where
vertexId: string type. The list is sorted by vertex ID.
communityId: string type
Note: The communityId itself has no meaning and uses the internal ID of HyG.
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
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot