# 图查询接口
# 接口列表
# 节点及相关信息查询:
# 边及相关信息查询:
# 查询邻居:
# 路径查询:
# 其他:
# 通过节点唯一索引获取节点详细信息
# 方法
POST
# URL
/api/graph/query/node
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
node_index | node_index | 唯一索引 | 否 | "" | * | node_index |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | node_s | 节点的详细信息 | 否 | * | * | node_s |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/node -d '{"db_name":"http_case","node_index":{"type":"person","index_props":{"identity":"901"}}}'
# 测试结果(仅供参考)
"cost_time" : 0.019362792,
"message" : "OK.",
"node_id" : 0,
"props" :
{
"age" : "20",
"identity" : "901",
"name" : "aa",
"reliability" : "70",
"sex" : "1"
},
"status" : 0,
"type" : "person"
# 通过节点id获取节点详细信息
# 方法
POST
# URL
/api/graph/query/node/id
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
id | int32_t | 节点id | 否 | 0 | 0 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | node_s | 节点的详细信息 | 否 | * | * | node_s |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/node/id -d '{"db_name":"http_case","id":1}'
# 测试结果(仅供参考)
"cost_time" : 0.003457042,
"message" : "OK.",
"node_id" : 1,
"props" :
{
"age" : "30",
"identity" : "902",
"name" : "bb",
"reliability" : "50",
"sex" : "1"
},
"status" : 0,
"type" : "person"
# 获取图中所有节点的数量
# 方法
POST
# URL
/api/graph/query/node/all/size
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | graph_node_size | 节点的数量 | 否 | * | * | graph_node_size |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/node/all/size -d '{"db_name":"http_case"}'
# 测试结果(仅供参考)
"cost_time" : 0.0050749999999999997,
"message" : "OK.",
"size" : 22,
"status" : 0
# 通过节点的类型获取图中节点的数量
# 方法
POST
# URL
/api/graph/query/node/size
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
node_type | string | 节点的类型 | 否 | "" | "person" |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | graph_node_size | 节点的数量 | 否 | * | * | graph_node_size |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/node/size -d '{"db_name":"http_case","node_type":"person"}'
# 测试结果(仅供参考)
"cost_time" : 0.0053962089999999999,
"message" : "OK.",
"size" : 7,
"status" : 0
# 批量获取节点属性
# 方法
POST
# URL
/api/graph/nodes/query/ids
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
ids | vector<int32_t> | 节点id的集合 | 否 | [] | [12] |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | nodes_s | 节点属性 | 否 | * | * | nodes_s |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/nodes/query/ids -d '{"db_name":"http_case","ids":[19]}'
# 测试结果(仅供参考)
"cost_time" : 0.0050859579999999998,
"message" : "OK.",
"nodes" :
[
{
"id" : 19,
"props" :
{
"age" : "10",
"identity" : "1",
"name" : "aa",
"reliability" : "10",
"sex" : "1"
},
"type" : "person"
}
],
"status" : 0
# 批量获取节点信息
# 方法
POST
# URL
/api/graph/query/batch/node
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
src_id | int32_t | 起点ID | 否 | 0 | 0 | |
count | int32_t | 数量 | 否 | 0 | 0 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | node_list | 节点列表 | 否 | * | * | node_list |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/batch/node -d '{"db_name":"http_case","src_id":20,"count":10}'
# 测试结果(仅供参考)
"cost_time" : 0.014761833,
"message" : "OK.",
"nodes" :
[
{
"int_id" : 20,
"type" : "person"
},
{
"int_id" : 21,
"type" : "person"
},
{
"int_id" : 22,
"type" : "person"
}
],
"status" : 0
# 批量获取边的属性
# 方法
POST
# URL
/api/graph/edges/query/basic_ids
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
edge_basic_ids | vector<edge_basic_id> | 边的信息 | 否 | [] | [] | edge_basic_id |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | edges_s | 边的属性 | 否 | * | * | edges_s |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/edges/query/basic_ids -d '{"db_name":"http_case","edge_basic_ids":[{"src_node_id":19,"dest_node_id":20,"edge_id":0,"edge_type":"use"}]}'
# 测试结果(仅供参考)
"cost_time" : 0.0024388330000000001,
"message" : "OK.",
"nodes" :
[
{
"dest_node_id" : 21,
"edge_id" : 0,
"props" :
{
"lasttime" : "1"
},
"src_node_id" : 20,
"type" : "use"
}
],
"status" : 0
# 通过边的唯一索引获取边的详细信息
# 方法
POST
# URL
/api/graph/query/edge
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
edge_index | edge_index | 唯一索引 | 否 | "" | * | edge_index |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | edge_s | 边的详细信息 | 否 | * | * | edge_s |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/edge -d '{"db_name":"http_case","edge_index":{"type":"use","index_props":{"lasttime":"20210106"}}}'
# 测试结果(仅供参考)
"cost_time" : 0.0082113749999999999,
"dest_node_id" : 21,
"dest_node_props" :
{
"age" : "10",
"identity" : "3",
"name" : "cc",
"reliability" : "10",
"sex" : "1"
},
"dest_node_type" : "person",
"edge_id" : 0,
"message" : "OK.",
"props" :
{
"lasttime" : "2"
},
"src_node_id" : 20,
"src_node_props" :
{
"age" : "10",
"identity" : "2",
"name" : "bb",
"reliability" : "10",
"sex" : "1"
},
"src_node_type" : "person",
"status" : 0,
"type" : "use"
# 通过边的起止点获取边的详细信息
# 方法
POST
# URL
/api/graph/query/edge/basic_id
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
edge_basic_id | edge_basic_id | 边的起止点 | 否 | * | * | edge_basic_id |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | edge_s | 边的详细信息 | 否 | * | * | edge_s |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/edge/basic_id -d '{"db_name":"http_case","edge_basic_id":{"src_node_id":20, "dest_node_id":21,"edge_id":0,"edge_type":"use"}'
# 测试结果(仅供参考)
"cost_time" : 0.0032855829999999999,
"dest_node_id" : 21,
"dest_node_props" :
{
"age" : "10",
"identity" : "3",
"name" : "cc",
"reliability" : "10",
"sex" : "1"
},
"dest_node_type" : "person",
"edge_id" : 0,
"message" : "OK.",
"props" :
{
"lasttime" : "2"
},
"src_node_id" : 20,
"src_node_props" :
{
"age" : "10",
"identity" : "2",
"name" : "bb",
"reliability" : "10",
"sex" : "1"
},
"src_node_type" : "person",
"status" : 0,
"type" : "use"
# 获取图中所有边的数量
# 方法
POST
# URL
/api/graph/query/edge/all/size
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | graph_edge_size | 边的数量 | 否 | * | * | graph_edge_size |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/edge/all/size -d '{"db_name":"http_case"}'
# 测试结果(仅供参考)
"cost_time" : 0.001533625,
"message" : "OK.",
"size" : 54,
"status" : 0
# 通过边的类型获取图中边的数量
# 方法
POST
# URL
/api/graph/query/edge/size
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
edge_type | string | 边的类型 | 否 | "" | "use" |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | graph_edge_size | 边的数量 | 否 | * | * | graph_edge_size |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/edge/size -d '{"db_name":"http_case","edge_type":"use"}'
# 测试结果(仅供参考)
"cost_time" : 0.00097420899999999997,
"message" : "OK.",
"size" : 6,
"status" : 0
# 查询一阶邻居
# 方法
POST
# URL
/api/graph/query/one_neighbour
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
node_id | int32_t | 节点ID | 否 | 0 | 0 | |
search_direction | search_direction_type::type | 搜索方向 | 否 | * | search_direction_in | 方向参数说明 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | one_neighbour | 节点的详细信息 | 否 | * | * | one_neighbour |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/one_neighbour -d '{"db_name":"http_case","node_id":19,"search_direction":0}'
# 测试结果(仅供参考)
"cost_time" : 0.0038243750000000001,
"message" : "OK.",
"relations" : null,
"status" : 0
# 查询邻居
# 方法
POST
# URL
/api/graph/query/neighbours
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | * | "ezoo" | |
node_id | string | 起始节点ID | 否 | * | 1 | |
k_min | int32_t | 起始邻居层数 | 否 | * | 1 | 小于等于k_max, 大于0 |
k_max | int32_t | 终止邻居层数 | 否 | * | 5 | 大于等于k_min |
search_direction | search_direction_type::type | 搜索方向 | 否 | * | search_direction_in | 方向参数说明 |
condition | string | 过滤条件 | 否 | * | "node::person.age = 10" | condition参数说明 |
return_relations | bool | 是否返回边信息 | 否 | * | true |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | neighbour | 邻居结构 | 否 | * | * | neighbour |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/neighbours -d '{"db_name":"http_case","node_id":19,"k_min":1,"k_max":2,"search_direction":0,"condition":"node::person.age = 10","return_relations":true}'
# 测试结果(仅供参考)
"cost_time" : 0.024211666999999999,
"message" : "OK.",
"node_type_mapping" :
[
"person",
"card",
"phone",
"wifi"
],
"nodes" :
[
null,
null
],
"status" : 0
# 轻量查询邻居
# 方法
POST
# URL
/api/graph/query/neighbours/simple
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | * | "ezoo" | |
node_id | string | 起始节点ID | 否 | * | 1 | |
k_min | int32_t | 起始邻居层数 | 否 | * | 1 | 小于等于k_max, 大于0 |
k_max | int32_t | 终止邻居层数 | 否 | * | 5 | 大于等于k_min |
search_direction | search_direction_type::type | 搜索方向 | 否 | * | search_direction_in | 方向参数说明 |
condition | string | 过滤条件 | 否 | * | "node::person.age = 10" | condition参数说明 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | neighbour_simple_v2 | 邻居结构 | 否 | * | * | neighbour_simple_v2 |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/neighbours/simple -d '{"db_name":"http_case","node_id":19,"k_min":1,"k_max":2,"search_direction":0,"condition":"node::person.age = 10"}'
# 测试结果(仅供参考)
"cost_time" : 0.024211666999999999,
"message" : "OK.",
"nodes" :
[
[
1
]
],
"status" : 0
# 多点公共查询邻居
# 方法
POST
# URL
/api/graph/query/neighbours/common/simple
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | * | "ezoo" | |
ids | std::vector<int32_t> | 节点id列表 | 否 | * | [0, 1, 2] | |
k_min | int32_t | 起始邻居层数 | 否 | * | 1 | 小于等于k_max, 大于0 |
k_max | int32_t | 终止邻居层数 | 否 | * | 5 | 大于等于k_min |
search_direction | search_direction_type::type | 搜索方向 | 否 | * | search_direction_in | 方向参数说明 |
condition | string | 过滤条件 | 否 | * | "node::person.age = 10" | condition参数说明 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | common_neighbour | 多节点之间的公共邻居 | 否 | * | * |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/neighbours/common/simple -d '{"db_name":"http_case","ids":[0, 1, 2],"k_min":1,"k_max":2,"search_direction":0,"condition":"node::person.age = 10"}'
# 测试结果(仅供参考)
"cost_time" : 0.024211666999999999,
"message" : "OK.",
"nodes" :
[
1
],
"status" : 0
# 查询邻居数量
# 方法
POST
# URL
/api/graph/query/neighbours/size
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | * | "ezoo" | |
node_id | string | 起始节点ID | 否 | * | "6da2kgeqj2nvla1kg3" | |
k_min | int32_t | 起始邻居层数 | 否 | * | 1 | 小于等于k_max, 大于0 |
k_max | int32_t | 终止邻居层数 | 否 | * | 5 | 大于等于k_min |
search_direction | search_direction_type::type | 搜索方向 | 否 | * | 2 | 方向参数说明 |
condition | string | 过滤条件 | 否 | * | "node::person.age = 10" | condition参数说明 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | neighbour_count_v2 | 邻居数量结构 | 否 | * | * | neighbour_count_v2 |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/neighbours/size -d '{"db_name":"http_case","node_id":19,"k_min":1,"k_max":2,"search_direction":0,"condition":"node::person.age = 10"}'
# 测试结果(仅供参考)
"cost_time" : 0.024211666999999999,
"message" : "OK.",
"nodes_count" :
[
1, 2
],
"status" : 0
# 路径查询
# 方法
POST
# URL
/api/graph/query/path
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | * | "ezoo" | |
src_node_id | int32_t | 起始节点ID | 否 | * | 1 | |
dest_node_id | int32_t | 终点节点ID | 否 | * | 2 | |
k_max | int32_t | 最大跳数 | 否 | * | 2 | 从起点ID开始以最大条数查询到终点ID |
search_direction | search_direction_type::type | 搜索方向 | 否 | * | search_direction_in | 方向参数说明 |
condition | string | 过滤条件 | 否 | * | "user.age = 10" | condition参数说明 |
max_size | int32_t | 返回的最大路径数 | 否 | * | 5 | |
query_type | int32_t | 查询类型 | 否 | * | 1 | 1:普通路径查询;2:全路径去重;3:全路径不去重。 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | paths | 路径结构 | 否 | * | * | paths |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/path -d '{"db_name":"http_case","src_node_id":0,"dest_node_id":2,"k_min":1,"k_max":5,"search_direction":0,"condition":"","max_size":2,"query_type":1}'
# 测试结果(仅供参考)
"cost_time" : 0.014477042000000001,
"edge_type_mapping" :
[
"use"
],
"message" : "OK.",
"node_type_mapping" :
[
"person"
],
"nodes" : null,
"paths" : null,
"status" : 0
# 轻量路径查询
# 方法
POST
# URL
/api/graph/query/path/simple
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | * | "ezoo" | |
src_node_id | int32_t | 起始节点ID | 否 | * | 1 | |
dest_node_id | int32_t | 终点节点ID | 否 | * | 2 | |
k_max | int32_t | 最大跳数 | 否 | * | 2 | 从起点ID开始以最大条数查询到终点ID |
search_direction | search_direction_type::type | 搜索方向 | 否 | * | search_direction_in | 方向参数说明 |
condition | string | 过滤条件 | 否 | * | "user.age = 10" | condition参数说明 |
max_size | int32_t | 返回的最大路径数 | 否 | * | 5 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | paths_simple_v2 | 路径结构 | 否 | * | * | paths_simple_v2 |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/path/simple -d '{"db_name":"http_case","src_node_id":19,"dest_node_id":20,"k_max":2,"search_direction":0,"condition":"node::person.age = 10","max_size":2}'
# 测试结果(仅供参考)
"cost_time" : 0.014477042000000001,
"message" : "OK.",
"paths" : null,
"status" : 0
# 全路径查询
# 方法
POST
# URL
/api/graph/query/path/full
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | * | "ezoo" | |
src_node_id | int32_t | 起始节点ID | 否 | * | 1 | |
dest_node_id | int32_t | 终点节点ID | 否 | * | 2 | |
k_max | int32_t | 最大跳数 | 否 | * | 2 | 从起点ID开始以最大条数查询到终点ID |
search_direction | search_direction_type::type | 搜索方向 | 否 | * | search_direction_in | 方向参数说明 |
condition | string | 过滤条件 | 否 | * | "user.age = 10" | condition参数说明 |
max_size | int32_t | 返回的最大路径数 | 否 | * | 5 | |
distinct | bool | 是否去重 | 否 | * | true |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | paths_simple_v2 | 路径结构 | 否 | * | * | paths_simple_v2 |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/path/full -d '{"db_name":"http_case","src_node_id":19,"dest_node_id":20,"k_max":2,"search_direction":0,"condition":"node::person.age = 10","max_size":2,"distinct":1}'
# 测试结果(仅供参考)
"cost_time" : 0.014477042000000001,
"message" : "OK.",
"paths" : null,
"status" : 0
# 子图查询
# 方法
POST
# URL
/api/graph/query/sub_graph
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | * | "ezoo" | |
node_id | int32_t | 起始节点ID | 否 | * | 1 | |
k_min | int32_t | 起始跳数 | 否 | * | 1 | 小于等于k_max, 大于0 |
k_max | int32_t | 终止跳数 | 否 | * | 5 | 大于等于k_min |
search_direction | search_direction_type::type | 搜索方向 | 否 | * | search_direction_in | 方向参数说明 |
condition | string | 过滤条件 | 否 | * | "node::person.age = 10" | condition参数说明 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | graph | 图结构 | 否 | * | * | graph |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/sub_graph -d '{"db_name":"http_case","node_id":19,"k_min":1,"k_max":2,"search_direction":0,"condition":"node::person.age = 10"}'
# 测试结果(仅供参考)
"cost_time" : 0.0097731669999999993,
"edge_type_mapping" :
[
"use"
],
"message" : "OK.",
"node_type_mapping" :
[
"person"
],
"nodes" : null,
"relations" : null,
"status" : 0
# 获取schema集合
# 方法
POST
# URL
/api/graph/query/graph/schema/list
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name_list | vector<string> | 数据库名称列表 | 否 | * | ["ezoo"] |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | graph_schema_list | schema列表 | 否 | * | * | graph_schema_list |
# 测试用例
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/graph/schema/list -d '{"db_name_list":["http_case"]}'
# 测试结果(仅供参考)
"cost_time" : 0.0018762500000000001,
"schema_simple_list" : [],
"message" : "OK.",
"status" : 0
# 批量获取邻接图的信息
# 简述
通过此方法可获取图中各节点间的邻接关系(只展示节点间是否存在边,不关心边的类型与数量)。提供了顺序获取与批量获取两种方法。顺序获取输入为起点id(src_id)与获取数量(count)参数,可获取src_id起,count个可用的id与他们身上所有的出边与入边。批量获取输入为起点id的集合(src_ids),可获得集合中所有点与他们身上所有的出边和入边(要求集合中所有的id真实有效)。
# 方法
POST
# URL
/api/graph/query/basic
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
src_id | int32_t | 顺序获取起点ID | 否 | 0 | 0 | |
count | int32_t | 顺序获取数量 | 否 | 0 | 0 | |
src_ids | vector<int32_t> | 批量获取用起点ID | 否 | 0 | 0 | |
if_order | bool | 是否使用顺序获取模式 | 否 | 0 | 0 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | return_graph | 图的基础信息 | 否 | * | * | return_graph |
# 测试用例
1.顺序获取
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/basic -d '{"db_name":"http_case","src_id":20,"count":10,"src_ids":[],"if_order":true}'
2.批量获取
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/basic -d '{"db_name":"http_case","src_id":0,"count":10,"src_ids":[20],"if_order":false}'
# 测试结果(仅供参考)
"cost_time" : 0.018842042,
"message" : "OK.",
"status" : 0,
"b_graph" :
{
"edge" :
[{
"end_id" : 20,
"start_id" : 21
}],
"node" :
[{
"node_id" : 20,
"node_type" : 0
},
{
"node_id" : 21,
"node_type" : 0
}]
},
"edge_ids" :
[
"use",
],
"node_ids" :
[
"person",
],
"r_graph" :
{
"edge" : null,
"node" : null
}
# 批量获取关系图的信息
# 简述
通过此方法可获取图中各节点间的关系(展示两点间所有边以及他们的类型与id)。提供了顺序获取与批量获取两种方法。顺序获取输入为起点id(src_id)与获取数量(count)参数,可获取src_id起,count个可用的id与他们身上所有的出边与入边。批量获取输入为起点id的集合(src_ids),可获得集合中所有点与他们身上所有的出边和入边(要求集合中所有的id真实有效)。
# 方法
POST
# URL
/api/graph/query/rel
# 参数
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
db_name | string | 数据库名称 | 否 | "" | "ezoo" | |
src_id | int32_t | 顺序获取起点ID | 否 | 0 | 0 | |
count | int32_t | 顺序获取数量 | 否 | 0 | 0 | |
src_ids | vector<int32_t> | 批量获取用起点ID | 否 | 0 | 0 | |
if_order | bool | 是否使用顺序获取模式 | 否 | 0 | 0 |
# 返回值
参数列表 | 类型 | 描述 | 是否可空 | 默认值 | 示例 | 备注 |
---|---|---|---|---|---|---|
_return | return_graph | 图的基础信息 | 否 | * | * | return_graph |
# 测试用例
1.顺序获取
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/rel -d '{"db_name":"http_case","src_id":20,"count":10,"src_ids":[],"if_order":true}'
2.批量获取
curl -X POST -H "Content-Type: application/json" 127.0.0.1:9898/api/graph/query/rel -d '{"db_name":"http_case","src_id":0,"count":10,"src_ids":[20],"if_order":false}'
# 测试结果(仅供参考)
"cost_time" : 0.016191707999999999,
"message" : "OK.",
"status" : 0
"b_graph" :
{
"edge" : null,
"node" : null
},
"edge_ids" :
[
"use",
],
"node_ids" :
[
"person"
],
"r_graph" :
{
"edge" :
[{
"dest_node_id" : 20,
"edge_id" : 0,
"edge_type" : 0,
"src_node_id" : 22
}],
"node" :
[{
"node_id" : 20,
"node_type" : 0
},
{
"node_id" : 22,
"node_type" : 0
}]
},