gs_interactive.AdminServiceProcedureManagementApi¶
所有URI均相对于{INTERACTIVE_ADMIN_ENDPOINT}
方法 |
HTTP请求 |
描述 |
|---|---|---|
POST /v1/graph/{graph_id}/procedure |
在指定图上创建一个存储过程 |
|
DELETE /v1/graph/{graph_id}/procedure/{procedure_id} |
删除指定图上的存储过程 |
|
GET /v1/graph/{graph_id}/procedure/{procedure_id} |
获取指定图上某个存储过程的元数据 |
|
GET /v1/graph/{graph_id}/procedure |
列出绑定到指定图的所有存储过程 |
|
PUT /v1/graph/{graph_id}/procedure/{procedure_id} |
更新指定图的元数据 |
创建存储过程¶
结果[CreateProcedureResponse] create_procedure(graph_id, create_procedure_request)
在图上创建一个新过程
示例¶
from gs_interactive.client.driver import Driver
from gs_interactive.client.session import Session
from gs_interactive.models import *
test_graph_def = {
"name": "test_graph",
"description": "This is a test graph",
"schema": {
"vertex_types": [
{
"type_name": "person",
"properties": [
{
"property_name": "id",
"property_type": {"primitive_type": "DT_SIGNED_INT64"},
},
{
"property_name": "name",
"property_type": {"string": {"long_text": ""}},
},
{
"property_name": "age",
"property_type": {"primitive_type": "DT_SIGNED_INT32"},
},
],
"primary_keys": ["id"],
}
],
"edge_types": [
{
"type_name": "knows",
"vertex_type_pair_relations": [
{
"source_vertex": "person",
"destination_vertex": "person",
"relation": "MANY_TO_MANY",
}
],
"properties": [
{
"property_name": "weight",
"property_type": {"primitive_type": "DT_DOUBLE"},
}
],
"primary_keys": [],
}
],
},
}
driver = Driver()
sess = driver.session()
create_graph_request = CreateGraphRequest.from_dict(test_graph_def)
resp = sess.create_graph(create_graph_request)
assert resp.is_ok()
graph_id = resp.get_value().graph_id
print("Graph id: ", graph_id)
# Create procedure
create_proc_request = CreateProcedureRequest(
name="test_procedure",
description="test procedure",
query="MATCH (n) RETURN COUNT(n);",
type="cypher",
)
resp = sess.create_procedure(graph_id, create_proc_request)
assert resp.is_ok()
proc_id = resp.get_value().procedure_id
print("procedure id", proc_id)
参数¶
名称 |
类型 |
描述 |
备注 |
|---|---|---|---|
graph_id |
str |
||
create_procedure_request |
返回类型¶
HTTP请求头¶
内容类型: application/json
Accept: application/json
HTTP响应详情¶
状态码 |
描述 |
响应头 |
|---|---|---|
200 |
操作成功 |
- |
400 |
错误请求 |
- |
404 |
未找到 |
- |
500 |
内部错误 |
- |
DeleteProcedure¶
结果[str] delete_procedure(graph_id, procedure_id)
通过名称删除图上的存储过程
示例¶
resp = sess.delete_procedure(graph_id, proc_id)
assert resp.is_ok()
print("delete procedure result", resp)
参数¶
名称 |
类型 |
描述 |
备注 |
|---|---|---|---|
graph_id |
str |
||
procedure_id |
str |
返回类型¶
结果[str]
授权¶
无需授权
HTTP请求头¶
Content-Type: 未定义
Accept: application/json
HTTP响应详情¶
状态码 |
描述 |
响应头 |
|---|---|---|
200 |
操作成功 |
- |
404 |
未找到 |
- |
获取过程¶
结果[GetProcedureResponse] get_procedure(graph_id, procedure_id)
通过图ID和过程ID获取一个过程。
示例¶
resp = sess.get_procedure(graph_id, proc_id)
assert resp.is_ok()
print("get procedure ", resp)
参数¶
名称 |
类型 |
描述 |
备注 |
|---|---|---|---|
graph_id |
str |
||
procedure_id |
str |
返回类型¶
授权¶
无需授权
HTTP请求头¶
Content-Type: 未定义
Accept: application/json
HTTP响应详情¶
状态码 |
描述 |
响应头 |
|---|---|---|
200 |
操作成功 |
- |
404 |
未找到 |
- |
列出存储过程¶
结果[List[GetProcedureResponse]] list_procedures(graph_id)
列出绑定到图的所有存储过程
示例¶
resp = sess.list_procedures(graph_id)
assert resp.is_ok()
print("list all procedures", resp)
参数¶
名称 |
类型 |
描述 |
备注 |
|---|---|---|---|
graph_id |
str |
返回类型¶
授权¶
无需授权
HTTP请求头¶
Content-Type: 未定义
Accept: application/json
HTTP响应详情¶
状态码 |
描述 |
响应头 |
|---|---|---|
200 |
操作成功 |
- |
404 |
未找到 |
- |
更新过程¶
结果[str] update_procedure(graph_id, procedure_id, update_procedure_request=update_procedure_request)
更新存储过程的元数据,例如描述信息。存储过程的查询或实现内容无法更新。
示例¶
update_proc_req = UpdateProcedureRequest(description="A new description")
resp = sess.update_procedure(graph_id, proc_id, update_proc_req)
assert resp.is_ok()
print("update proc success", resp)
参数¶
名称 |
类型 |
描述 |
备注 |
|---|---|---|---|
graph_id |
str |
||
procedure_id |
str |
||
update_procedure_request |
[可选] |
返回类型¶
结果[str]
授权¶
无需授权
HTTP请求头¶
内容类型: application/json
Accept: application/json
HTTP响应详情¶
状态码 |
描述 |
响应头 |
|---|---|---|
200 |
操作成功 |
- |
400 |
错误请求 |
- |
404 |
未找到 |
- |
500 |
内部错误 |
- |