更新时间:2024-12-03 GMT+08:00
分享

topicrank算法(topicrank)

功能介绍

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

TopicRank算法12345热线多维度话题排序算法之一,适用于政务12345热线投诉话题排序。

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

参数

是否必选

类型

说明

sources

String

节点的ID,支持多点输入,csv格式,逗号分割。当前仅支持少于等于100000个 id输入。

actived_p

Double

初始sources节点对应的权重初始值,取值范围[0,100000],默认值为1。

default_p

Double

非sources节点对应的权重初始值,取值范围[0,100000],默认值为1。

filtered

Boolean

是否对结果进行过滤,取值为true或false,默认值为false。

only_neighbors

Boolean

是否仅输出sources的邻居节点,取值为true或false,默认值为true。

alpha

Double

权重系数(又称阻尼系数),取值范围为(0,1),默认值为0.85。

convergence

Double

收敛精度,取值范围为(0,1),默认值为0.00001。

max_iterations

Integer

最大迭代次数,取值范围为[0,2000],默认值为1000。

directed

Boolean

是否考虑边的方向,取值为true或false,默认值为true。

num_thread

Integer

线程数,取值范围为1至cpu最大线程数,默认值为4。

vertex_filter

Json String

在repeat 的operator为“ inV”或“outV”或“bothV”时可选,具体格式见表 vertex_filter参数说明

表4 vertex_filter参数说明

参数

是否必选

类型

说明

leftvalue

String

String 左值,具体格式见表 leftvalue元素格式

predicate

String

表示过滤类型,支持的操作如下:

  • 逻辑运算:&和|;

    注意:leftvalue和rightvalue必须嵌套使用property_filter,且仅逻辑运算支持嵌套。

  • 比较运算:=, !=, >, >=, <, <=;
  • 集合运算:IN, NOTIN;
    1. 判断左值(标签、id、属性值)是否在右值(必须是array类型)中,和内存版的左值和右值是否有交集的语义有区别。
    2. 不支持CONTAIN、NOTCONTAIN、SUBSET等集合运算。
  • 匹配:右值是左值的PREFIX(前缀)、NOTPREFIX(非前缀)、 SUFFIX(后缀)、NOTSUFFIX(非后缀)、SUBSTRING(子串)、NOTSUBSTRING(非子串)、CISUBSTRING(忽略大小写的子串)、FUZZY(模糊匹配)或REGEX(正则匹配)
  • HAS/HASNOT:是否有此属性,仅支持属性过滤,即左值仅支持property_name。

rightvalue

String

右值,具体格式见表 rightvalue元素格式

表5 leftvalue元素格式

参数

是否必选

类型

说明

label_name

String

过滤“label”,值为“labelName”,值可不填。

property_name

String

过滤“property”,值为属性名称。

ID

String

过滤id,值可不填。

property_filter

String

仅在“predicate”为“&”或者“|”,可在“leftvalue”和“rightvalue”中嵌套使用“property_filter”。

degree

String

可选["both","in","out"],代表点度数值过滤统计的方向。

表6 rightvalue元素格式

参数

是否必选

类型

说明

value

String

1. 过滤“label”,值为label名称。

2. 过滤“property”,值为属性值,当predicate为HAS/HASNOT,则value仅为占位符,无实意。

3. 过滤“id”, 值为id值。

说明:

当predicate为IN、NOTIN时,该参数为List[string]类型。

property_filter

String

若“predicate”为“&”或者“|”,可在“leftvalue”和“rightvalue”中嵌套使用“property_filter”。

响应参数

参数

类型

说明

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": "topicrank",
    "vertex_filter": {
        "property_filter": {
            "leftvalue": {
                "label_name": "labelName"
            },
            "predicate": "=",
            "rightvalue": {
                "value": "user"
            }
        }
    },
    "parameters": {
        "sources": "lili,andy",
        "alpha": 0.85,
        "convergence": 0.00001,
        "max_iterations": 1000,
        "filtered": "true"
    }
}

SERVER_URL:图的访问地址,取值请参考业务面API使用限制

带vertex_filter的请求样例

POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/algorithm
{
  "algorithmName": "topicrank",
  "parameters": {
    "sources": "lili,andy",
    "alpha": 0.85,
    "convergence": 0.00001,
    "max_iterations": 1000,
    "filtered": "true",
    "vertex_filter": {
      "property_filter": {
        "leftvalue": {
          "label_name": "labelName"
        },
        "predicate": "=",
        "rightvalue": {
          "value": "user"
        }
      }
    }
  }
}

响应示例

状态码: 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"
}

状态码

返回值

说明

400 Bad Request

请求错误

401 Unauthorized

鉴权失败

403 Forbidden

没有操作权限

404 Not Found

找不到资源

500 Internal Server Error

服务内部错误

503 Service Unavailable

服务不可用

错误码

请参见错误码

相关文档