Session

Session Interface

class gs_interactive.client.session.Session[source]

DefaultSession Class

class gs_interactive.client.session.DefaultSession(admin_uri: str, stored_proc_uri: str | None = None)[source]

The default session implementation for Interactive SDK. It provides the implementation of all service APIs.

__init__(admin_uri: str, stored_proc_uri: str | None = None)[source]

Construct a new session using the specified admin_uri and stored_proc_uri.

Parameters:
  • admin_uri (str) – the uri for the admin service.

  • stored_proc_uri (str, optional) – the uri for the stored procedure service. If not provided, the uri will be read from the service status.

add_edge(graph_id: str[str], edge_request: List[EdgeRequest]) Result[str][source]

Add an edge to the specified graph.

add_vertex(graph_id: str[str], vertex_edge_request: VertexEdgeRequest) Result[str[str]][source]

Add a vertex to the specified graph.

bulk_loading(graph_id: str[str], schema_mapping: SchemaMapping) Result[JobResponse][source]

Submit a bulk loading job to the specified graph.

call_procedure(graph_id: str[str], params: QueryRequest) Result[CollectiveResults][source]

Call a procedure in the specified graph.

call_procedure_current(params: QueryRequest) Result[CollectiveResults][source]

Call a procedure in the current graph.

call_procedure_current_raw(params: bytes) Result[str][source]

Call a procedure in the current graph with raw bytes.

call_procedure_raw(graph_id: str[str], params: bytes) Result[str][source]

Call a procedure in the specified graph with raw bytes.

cancel_job(job_id: str[str]) Result[str][source]

Cancel a job with the specified job id.

create_graph(graph: CreateGraphRequest) Result[CreateGraphResponse][source]

Create a new graph with the specified graph request.

create_procedure(graph_id: str[str], procedure: CreateProcedureRequest) Result[CreateProcedureResponse][source]

Create a new procedure in the specified graph.

delete_graph(graph_id: str[str]) Result[str][source]

Delete a graph with the specified graph id.

delete_procedure(graph_id: str[str], procedure_id: str[str]) Result[str][source]

Delete a procedure in the specified graph.

ensure_param_str(param_name: str, param)[source]

Ensure the param is a string, otherwise raise an exception

get_edge(graph_id: str[str], edge_label: str[str], src_label: str[str], src_primary_key_value: Any[Any], dst_label: str[str], dst_primary_key_value: Any[Any]) Result[None | EdgeRequest][source]

Get an edge from the specified graph with primary key value.

get_graph_meta(graph_id: str[str]) Result[GetGraphResponse][source]

Get the meta information of a specified graph.

get_graph_schema(graph_id: str[str]) Result[GetGraphSchemaResponse][source]

Get the schema of a specified graph.

Parameters:

graph_id (str) – The ID of the graph whose schema is to be retrieved.

Returns:

The result containing the schema of the specified graph.

Return type:

Result[GetGraphSchemaResponse]

get_graph_statistics(graph_id: str[str]) Result[GetGraphStatisticsResponse][source]

Get the statistics of a specified graph.

get_job(job_id: str[str]) Result[JobStatus][source]

Get the status of a job with the specified job id.

get_procedure(graph_id: str[str], procedure_id: str[str]) Result[GetProcedureResponse][source]

Get a procedure in the specified graph.

get_service_status() Result[ServiceStatus][source]

Get the status of the service.

get_vertex(graph_id: str[str], label: str[str], primary_key_value: Any[Any]) Result[VertexRequest][source]

Get a vertex from the specified graph with primary key value.

list_graphs() Result[List[GetGraphResponse]][source]

List all graphs.

list_jobs() Result[List[JobResponse]][source]

List all jobs.

list_procedures(graph_id: str[str]) Result[List[GetProcedureResponse]][source]

List all procedures in the specified graph.

restart_service() Result[str][source]

Restart the service.

start_service(start_service_request: StartServiceRequest | None[StartServiceRequest | None] | None = None) Result[str][source]

Start the service on a specified graph.

stop_service() Result[str][source]

Stop the service.

try_upload_files(schema_mapping: SchemaMapping) Result[SchemaMapping][source]

Try to upload the input files if they are specified with a starting @ for input files in schema_mapping. Replace the path to the uploaded file with the path returned from the server.

The @ can be added to the beginning of data_source.location in schema_mapping.loading_config or added to each file in vertex_mappings and edge_mappings.

  1. location: @/path/to/dir
    inputs:
    • @/path/to/file1

    • @/path/to/file2

  2. location: /path/to/dir
    inputs:
    • @/path/to/file1

    • @/path/to/file2

  3. location: @/path/to/dir
    inputs:
    • /path/to/file1

    • /path/to/file2

  4. location: /path/to/dir
    inputs:
    • /path/to/file1

    • /path/to/file2

  1. location: None
    inputs:
    • @/path/to/file1

    • @/path/to/file2

Among the above 4 cases, only the 1, 3, 5 case are valid, for 2,4 the file will not be uploaded

update_edge(graph_id: str[str], edge_request: EdgeRequest) Result[str][source]

Update an edge in the specified graph.

update_procedure(graph_id: str[str], proc_id: str[str], procedure: UpdateProcedureRequest) Result[str][source]

Update a procedure in the specified graph.

update_vertex(graph_id: str[str], vertex_request: VertexRequest) Result[str][source]

Update a vertex in the specified graph.

upload_and_replace_input_inplace(schema_mapping: SchemaMapping) Result[SchemaMapping][source]

For each input file in schema_mapping, if the file starts with @, upload the file to the server and replace the path with the path returned from the server.

upload_file(filestorage: bytes[bytes] | str[str] | None) Result[UploadFileResponse][source]

Upload a file to the server.