更新时间:2023-07-19 GMT+08:00

边过滤查询(1.0.0)

功能介绍

查询满足过滤条件边的集合。

URI

POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=query
表1 路径参数

参数

是否必选

类型

说明

project_id

String

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

graph_name

String

图名称。

请求参数

表2 Body参数说明

参数

是否必选

类型

说明

labels

labels和edgeFilters两者必选其一

String

关系类型过滤条件。

edgeFilters

labels和edgeFilters两者必选其一

String

过滤条件,按属性过滤,JsonArray格式字符串。

offset

Integer

本次请求的起始位置。

limit

Integer

本次查询期望返回的边的个数。

sorts

Object

结果排序的属性。

JsonArray格式字符。

表3 sorts参数说明

参数

是否必选

类型

说明

key

Key和propertyName必选其一

String

可选值有label、property,分别表示对label和属性排序。

propertyName

Key和propertyName必选其一

String

属性名称。

orderValue

String

可选“incr”和“decr”,分别表示升序和降序,默认值“incr”。

表4 edgeFilters参数结构

参数

是否必选

类型

说明

propertyName

String

属性名称。

predicate

String

逻辑关系,可选值“=”、“<”、“>”、“<=”、“>=”、“range”、“has”“hasNot”、“full_text_match”、“full_text_prefix”、“full_text_wildcard”、“full_text_regexp”、“full_text_fuzzy”和 “full_text_combination”。

说明:

属性复合类型为list或者set时,逻辑关系仅支持has、hasNot。

values

String

属性的值。当predicate为full_text_combination时,values类型不是string,详见下方说明。

type

String

过滤条件逻辑关系,可选值“and”和“or”,默认为“and”。

当predicate为“full_text_match”、“full_text_prefix”、“full_text_wildcard”、“full_text_regexp”、“full_text_fuzzy”、“full_text_combination”时,edgeFilters列表中只能有一个元素,即不能有多层过滤并列存在。labels参数不可以同时出现。当predicate为“full_text_combination”时,最外层的propertyName直接设置为“propertyName”即可, values不再是简单的string类型列表,values的每个元素有“propertyName”和“value”两个成员。如果您想使用以上全文索引的能力,需要预先调用创建全文索引的API。

响应参数

表5 响应Body参数

参数

类型

说明

errorMessage

String

系统提示信息。

  • 执行成功时,字段可能为空。
  • 执行失败时,用于显示错误信息。

errorCode

String

系统提示信息。

  • 执行成功时,字段可能为空。
  • 执行失败时,用于显示错误码。

jobId

String

查询边任务ID。

说明:

可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API

请求示例

查询满足过滤条件边的集合,本次请求的起始位置为0,本次查询期望返回的边的个数为20,关系类型过滤条件为rate。

POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=query
{
    "offset":"0",
    "limit":"20",
    "labels":[
        "rate"
    ],
    "edgeFilters":[
        {
            "propertyName":"Score",
            "predicate":">=",
            "values":[
                "2"
            ]
        },
        {
            "propertyName":"Datetime",
            "predicate":"range",
            "values":[
                "1998-12-27 01:00:00",
                "2000-12-31 00:12:38"
            ],
            "type":"or"
        }
    ]
}

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

响应示例

状态码: 200

成功响应示例

Http Status Code: 200
{
  "jobId": "f9987cab-64d3-4b3d-ac43-e91ae0c21bef168127124",
  "jobType": 0
}

状态码: 400

失败响应示例

Http Status Code: 400
{
  "errorMessage": "Bad Request, parameter labels and edgeFilters cannot all be null",
  "errorCode": "GES.8103"
}

状态码

返回值

说明

400 Bad Request

请求错误。

401 Unauthorized

鉴权失败。

403 Forbidden

没有操作权限。

404 Not Found

找不到资源。

500 Internal Server Error

服务内部错误。

503 Service Unavailable

服务不可用。

错误码

请参见错误码