gs_interactive.AdminServiceProcedureManagementApi

所有URI均相对于{INTERACTIVE_ADMIN_ENDPOINT}

方法

HTTP请求

描述

CreateProcedure

POST /v1/graph/{graph_id}/procedure

在指定图上创建一个存储过程

DeleteProcedure

DELETE /v1/graph/{graph_id}/procedure/{procedure_id}

删除指定图上的存储过程

GetProcedure

GET /v1/graph/{graph_id}/procedure/{procedure_id}

获取指定图上某个存储过程的元数据

ListProcedures

GET /v1/graph/{graph_id}/procedure

列出绑定到指定图的所有存储过程

UpdateProcedure

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

CreateProcedureRequest

返回类型

结果[CreateProcedureResponse]

授权

无需授权

HTTP请求头

  • 内容类型: application/json

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

操作成功

-

400

错误请求

-

404

未找到

-

500

内部错误

-

[返回顶部] [返回API列表] [返回模型列表] [返回python_sdk]

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

未找到

-

[返回顶部] [返回API列表] [返回模型列表] [返回python_sdk]

获取过程

结果[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

返回类型

结果[GetProcedureResponse]

授权

无需授权

HTTP请求头

  • Content-Type: 未定义

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

操作成功

-

404

未找到

-

[返回顶部] [返回API列表] [返回模型列表] [返回python_sdk]

列出存储过程

结果[List[GetProcedureResponse]] list_procedures(graph_id)

列出绑定到图的所有存储过程

示例

resp = sess.list_procedures(graph_id)
assert resp.is_ok()
print("list all procedures", resp)

参数

名称

类型

描述

备注

graph_id

str

返回类型

结果[List[GetProcedureResponse]]

授权

无需授权

HTTP请求头

  • Content-Type: 未定义

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

操作成功

-

404

未找到

-

[返回顶部] [返回API列表] [返回模型列表] [返回python_sdk]

更新过程

结果[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

UpdateProcedureRequest

[可选]

返回类型

结果[str]

授权

无需授权

HTTP请求头

  • 内容类型: application/json

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

操作成功

-

400

错误请求

-

404

未找到

-

500

内部错误

-

[返回顶部] [返回API列表] [返回模型列表] [返回python_sdk]