
raphscope.groot-client.0.24.3.source-code.graph_def.proto Maven / Gradle / Ivy
// 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.graph;
import "google/protobuf/any.proto";
import public "schema_common.proto";
option java_package = "com.alibaba.graphscope.proto";
option java_multiple_files = true;
// Various graph type
enum GraphTypePb {
UNKNOWN_TYPE = 0;
IMMUTABLE_EDGECUT = 1;
DYNAMIC_PROPERTY = 2;
DYNAMIC_PROJECTED = 3;
ARROW_PROPERTY = 4;
ARROW_PROJECTED = 5;
PERSISTENT_STORE = 6;
ARROW_FLATTENED = 7;
}
enum VertexMapTypePb {
UNKNOWN_VM_TYPE = 0;
GLOBAL_VERTEX_MAP = 1;
LOCAL_VERTEX_MAP = 2;
}
// Attributes that only meaningful to and will be set by groot storage
message GrootInfoPb {
int32 last_label_id = 1;
int32 last_property_id = 2;
int64 last_table_id = 3;
}
// Attributes that only meaningful to and will be set by vineyard storage
message VineyardInfoPb {
DataTypePb oid_type = 1;
DataTypePb vid_type = 2;
DataTypePb vdata_type = 3;
DataTypePb edata_type = 4;
// This is for sharing graph between vineyard storage and groot storage
string schema_path = 5;
// Whether to automatically generate unique edge id for all edges.
bool generate_eid = 6;
// object id of the graph in vineyard
int64 vineyard_id = 7;
// For client to reconstrut graph schema
string property_schema_json = 8;
// Global or local vertex map
VertexMapTypePb vertex_map_type = 9;
// Fragment ids
repeated int64 fragments = 10;
// retain_oid
bool retain_oid = 11;
}
// Attributes that only meaningful to and will be set by dynamic storage
message MutableGraphInfoPb {
DataTypePb vdata_type = 1;
DataTypePb edata_type = 2;
string property_schema_json = 3;
}
// Stores all meta of a graph
message GraphDefPb {
int64 version = 1;
string key = 2;
GraphTypePb graph_type = 3;
bool directed = 4;
repeated TypeDefPb type_defs = 5;
repeated EdgeKindPb edge_kinds = 6;
map property_name_to_id = 7;
// current extension supported:
// - GrootInfoPb
// - VineyardInfoPb
// - MutableGraphInfoPb
google.protobuf.Any extension = 8;
bool is_multigraph = 9;
// compact edges
bool compact_edges = 10;
// use perfect hash
bool use_perfect_hash = 11;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy