更新时间:2024-07-26 GMT+08:00

子图匹配算法(subgraph matching)

功能介绍

根据输入参数,执行subgraph matching算法。

子图匹配(subgraph matching)算法的目的是在一个给定的大图里面找到与一个给定小图同构的子图,这是一种基本的图查询操作,意在发掘图重要的子结构。

URI

POST /ges/v1.0/{project_id}/hyg/{graph_name}/algorithm
表1 路径参数

参数

是否必选

类型

说明

project_id

String

项目ID。获取方法请参见获取项目ID

graph_name

String

图名称。

请求参数

表2 请求Body参数

参数

是否必选

类型

说明

algorithmName

String

算法名字。

parameters

parameters Object

算法参数。

表3 parameters

参数

是否必选

类型

说明

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

服务不可用

错误码

请参见错误码