All Downloads are FREE. Search and download functionalities are using the official Maven repository.

raphscope.groot-client.0.24.3.source-code.write_service.proto Maven / Gradle / Ivy

There is a newer version: 0.28.1
Show newest version
// Copyright 2020 Alibaba Group Holding Limited. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

syntax = "proto3";
package gs.rpc.groot;

option java_package = "com.alibaba.graphscope.proto.groot";
option java_multiple_files = true;

service ClientWrite {
  rpc getClientId(GetClientIdRequest) returns(GetClientIdResponse);
  rpc batchWrite(BatchWriteRequest) returns(BatchWriteResponse);
  rpc remoteFlush(RemoteFlushRequest) returns(RemoteFlushResponse);
}

message GetClientIdRequest {
}

message GetClientIdResponse {
  string client_id = 1;
}

message BatchWriteRequest {
  string client_id = 1;
  repeated WriteRequestPb write_requests = 2;
}

message BatchWriteResponse {
  int64 snapshot_id = 1;
}

message RemoteFlushRequest {
  int64 snapshot_id = 1;
  int64 wait_time_ms = 2;
}

message RemoteFlushResponse {
  bool success = 1;
}

enum WriteTypePb {
  UNKNOWN = 0;
  INSERT = 1;
  UPDATE = 2;
  DELETE = 3;
  CLEAR_PROPERTY = 4;
}

message WriteRequestPb {
  WriteTypePb write_type = 1;
  DataRecordPb data_record = 2;
}

message DataRecordPb {
  oneof record_key {
    VertexRecordKeyPb vertex_record_key = 1;
    EdgeRecordKeyPb edge_record_key = 2;
  }
  map properties = 3;
}

message VertexRecordKeyPb {
  string label = 1;
  map pk_properties = 2;
}

message EdgeRecordKeyPb {
  string label = 1;
  VertexRecordKeyPb src_vertex_key = 2;
  VertexRecordKeyPb dst_vertex_key = 3;
  int64 inner_id = 4;
}






© 2015 - 2025 Weber Informatics LLC | Privacy Policy