边过滤查询(1.0.0)
功能介绍
查询满足过滤条件边的集合。
URI
|
参数 |
是否必选 |
类型 |
说明 |
|---|---|---|---|
|
project_id |
是 |
String |
项目ID。获取方法请参见获取项目ID。 |
|
graph_name |
是 |
String |
图名称。 |
请求参数
|
参数 |
是否必选 |
类型 |
说明 |
|---|---|---|---|
|
labels |
labels和edgeFilters两者必选其一 |
String |
关系类型过滤条件。 |
|
edgeFilters |
labels和edgeFilters两者必选其一 |
String |
过滤条件,按属性过滤,JsonArray格式字符串。 |
|
offset |
否 |
Integer |
本次请求的起始位置。 |
|
limit |
否 |
Integer |
本次查询期望返回的边的个数。 |
|
sorts |
否 |
Object |
结果排序的属性。 JsonArray格式字符。 |
|
参数 |
是否必选 |
类型 |
说明 |
|---|---|---|---|
|
key |
Key和propertyName必选其一 |
String |
可选值有label、property,分别表示对label和属性排序。 |
|
propertyName |
Key和propertyName必选其一 |
String |
属性名称。 |
|
orderValue |
否 |
String |
可选“incr”和“decr”,分别表示升序和降序,默认值“incr”。 |
|
参数 |
是否必选 |
类型 |
说明 |
|---|---|---|---|
|
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”。
说明:
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。
响应参数
|
参数 |
类型 |
说明 |
|---|---|---|
|
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"
}
]
}
响应示例
状态码: 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 |
服务不可用。 |
错误码
请参见错误码。