子图匹配算法(subgraph matching)
功能介绍
根据输入参数,执行subgraph matching算法。
子图匹配(subgraph matching)算法的目的是在一个给定的大图里面找到与一个给定小图同构的子图,这是一种基本的图查询操作,意在发掘图重要的子结构。
URI
POST /ges/v1.0/{project_id}/hyg/{graph_name}/algorithm
参数 |
是否必选 |
类型 |
说明 |
---|---|---|---|
project_id |
是 |
String |
项目ID。获取方法请参见获取项目ID。 |
graph_name |
是 |
String |
图名称。 |
请求参数
参数 |
是否必选 |
类型 |
说明 |
algorithmName |
是 |
String |
算法名字。 |
parameters |
是 |
parameters Object |
算法参数。 |
参数 |
是否必选 |
类型 |
说明 |
edges |
是 |
String |
需匹配的子图的边集,标准CSV格式,边的起点与终点之间以英文逗号分隔,各边之间以换行符“\n”分隔,例如:“1,2\n2,3”。 |
vertices |
是 |
String |
需匹配的子图上各点的label, 标准CSV格式,点与其label之间以英文逗号分隔,各点与其label对之间以换行符“\n”分隔,点与sample中点相对应,例如:“1,BP\n2,FBP\n3,CP”。 |
n |
否 |
Integer |
限制寻找的子图的个数的上限,,取值范围[1,100000],默认值为100。 |
batch_number |
否 |
Integer |
每轮批量处理的个数,取值范围[1,1000000],默认值为10000。 |
directed |
否 |
Boolean |
是否考虑边的方向,取值为true或false,默认值为true。 |
statistics |
否 |
Boolean |
是否输出所有满足条件的子图的个数,取值为true或false,默认值为false。 |
响应参数
参数 |
类型 |
说明 |
errorMessage |
String |
系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 |
errorCode |
String |
系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 |
jobId |
String |
执行算法任务ID。请求失败时,字段为空。
说明:
可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 |
jobType |
Integer |
任务类型。请求失败时,字段为空。 |
请求示例
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:图的访问地址,取值请参考业务面API使用限制。
响应示例
状态码: 200
成功响应示例
Http Status Code: 200 { "jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122", "jobType": 1 }
状态码: 400
失败响应示例
Http Status Code: 400 { "errorMessage":"graph [demo] is not found", "errorCode":"GES.8402" }
查询结果
- 请求示例
GET http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{jobId}/status?limit=limit
- 查询结果响应
表4 reponse_data参数说明 参数
类型
说明
community
List
各节点对应的社团,格式:
[{vertexId1:communityId},{vertexId2:communityId}],
其中,
vertexId:string类型,List按照vertexId排序
communityId:string类型。
备注:communityId本身无实意,使用的是HyG内部ID。
状态码
返回值 |
说明 |
---|---|
400 Bad Request |
请求错误 |
401 Unauthorized |
鉴权失败 |
403 Forbidden |
没有操作权限 |
404 Not Found |
找不到资源 |
500 Internal Server Error |
服务内部错误 |
503 Service Unavailable |
服务不可用 |
错误码
请参见错误码。