带过滤的n_paths算法(filtered_n_paths)(2.2.22)
概述
带过滤的n_paths算法是给定起始点source、目的点target、跳数k、路径数n、过滤条件filters,找出source和target间不多于n条的k跳无环路径。
- 算法名称:带过滤的n_paths
- 英文名称:filtered_n_paths
应用场景
任意网络。
请求参数
字段名 |
是否必选 |
类型 |
说明 |
---|---|---|---|
algorithmName |
是 |
String |
对应值为“filtered_n_paths”。 |
parameters |
是 |
Json格式 |
具体格式见表parameters参数说明。 |
filters |
是 |
JSon Array |
过滤条件列表,数组的每个元素分别对应每一层要做的查询和过滤条件。具体格式见表filters元素格式。 |
参数 |
是否必选 |
说明 |
类型 |
取值范围 |
默认值 |
---|---|---|---|---|---|
source |
是 |
起始点 |
String |
图内部点 |
无 |
target |
是 |
目标点 |
String |
图内部点 |
无 |
k |
是 |
跳数 |
Int |
[2,6] |
2 |
n |
是 |
路径数 |
Int |
[1,1000] |
1 |
参数 |
是否必选 |
类型 |
取值范围 |
默认值 |
说明 |
---|---|---|---|---|---|
edge_filter |
否 |
json |
无 |
无 |
全图查询边时的过滤条件。 |
vertex_filter |
否 |
json |
无 |
无 |
全图查询点时的过滤条件。 |
字段名 |
是否必选 |
类型 |
说明 |
---|---|---|---|
path_length |
是 |
int |
路径长度。 |
paths_number |
是 |
int |
路径数量。 |
paths |
是 |
JsonArray |
路径集合,["111","119","58","96","82","57","56"]。 |
source |
是 |
String |
起始点。 |
target |
是 |
String |
目标点。 |
请求示例
POST http://IP:PORT/ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-algorithm { "algorithmName": "filtered_n_paths", "filters": [ { "edge_filter": { "property_filter": { "leftvalue": { "label_name": "labelName" }, "predicate": "=", "rightvalue": { "value": "default" } } } }], "parameters": { "k": 6, "n": 100, "source": "111", "target": "56" } }
返回示例
{ "jobId": "b14f6380-f115-46ab-990e-9a76a984ebd2154236181", "jobType": 2 }
查询任务示例
GET http://IP:PORT/ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{jobId}/status
任务返回示例
{ "data": { "outputs": { "data_return_size": 3, "paths": [ [ "111", "119", "58", "96", "82", "57", "56" ], [ "111", "119", "58", "61", "76", "57", "56" ], [ "111", "119", "58", "79", "76", "57", "56" ] ], "runtime": 0.000308, "source": "111", "path_length": 6, "data_offset": 0, "paths_number": 3, "data_total_size": 3, "target": "56" } }, "status": "success" }