Cython SDK API¶
Pregel¶
- class graphscope.analytical.app.pregel.Vertex[VD_TYPE, MD_TYPE]
 Class which holds vertex id, data and edges.
VD_TYPE: vertex data type MD_TYPE: message type
- id() str
 Get vertex id.
- label() str
 Get vertex label.
- label_id() int
 Get vertex label id.
- properties() vector[pair[str, str]]
 Get list of vertex properties, which consisting of property name and property type. Note that property type is one of (“INT”, “DOUBLE”, “STRING”)
- set_value(value: VD_TYPE)
 Set the vertex data, immediately visible in current round.
- value() VD_TYPE
 Get the vertex value, which data stored with vertex.
- get_str(property_id: int) str
 Get vertex str data by property id.
- get_str(property_name: str) str
 Get vertex str data by property name.
- get_double(property_id: int) double
 Get vertex str data by property id.
- get_double(property_name: str) double
 Get vertex double data by property_name.
- get_int(property_id: int) str
 Get vertex int data by property id.
- get_int(property_name: str) str
 Get vertex int data by property_name.
- outgoing_edges(edge_label_id: int) AdjList[VD_TYPE, MD_TYPE]
 Get a iterable of outgoing edges by edge label id of this vertex.
- outgoing_edges(edge_label_name: str) AdjList[VD_TYPE, MD_TYPE]
 Get a iterable of outgoing edges by edge label name of this vertex.
- incoming_edges(edge_label_id: int) AdjList[VD_TYPE, MD_TYPE]
 Get a iterable of incoming edges by edge label id of this vertex.
- incoming_edges(edge_label_name: str) AdjList[VD_TYPE, MD_TYPE]
 Get a iterable of incoming edges by edge label name of this vertex.
- send(v: Vertex[VD_TYPE, MD_TYPE], msg: MD_TYPE)
 Send a message to target vertex.
- vote_to_halt()
 After this method is called, the compute() code will no longer called with this vertex util receive messages. The application will finish only when all vertices vote to halt.
- class graphscope.analytical.app.pregel.Neighbor[VD_TYPE, MD_TYPE]
 - vertex() Vertex[VD_TYPE, MD_TYPE]
 Get neighbor vertex.
- get_str(column: int) str
 Get edge str data by column id.
- get_int(column: int) str
 Get edge int data by column id.
- get_double(column: int) str
 Get edge double data by column id.
- class graphscope.analytical.app.pregel.AdjList[VD_TYPE, MD_TYPE]
 - begin() Neighbor
 Return begin addr of the iterator.
- end() Neighbor
 Return end addr of the iterator.
- size() size_t
 Get the size of adj list.
- class graphscope.analytical.app.pregel.Context[VD_TYPE, MD_TYPE]
 Class which holds current step, aggregator info, query args and other util function.
- get_config(key: str) str
 Get a value with specific key, or “” with key not exist.
- register_aggregator(name: str, type: PregelAggregatorType)
 Register a aggregator with specific type, naming by name.
- aggregate[AGGR_TYPE](name: str, value: AGGR_TYPE)
 Add a new value to aggregator.
- get_aggregated_value[AGGR_TYPE](name: str) AGGR_TYPE
 Get value from a aggregator.
- superstep() int
 Get current superstep, begin with 0.
- get_total_vertices_num() size_t
 Get total vertex number.
- vertex_label_num() int
 Get vertex label number.
- edge_label_num() int
 Get edge label number.
- vertex_property_num(vertex_label_name: str) int
 Get vertex property number by vertex label name.
- vertex_property_num(vertex_label_id: int) int
 Get vertex property number by vertex label id.
- edge_property_num(edge_label_name: str) int
 Get edge property number by edge label name.
- edge_property_num(edge_label_id: int) int
 Get vertex property number by edge label id.
- vertex_labels() vector[str]
 Get list of vertex label.
- edge_labels() vector[str]
 Get list of edge label.
- get_vertex_label_by_id(vertex_label_id: int) str
 Get vertex label name by label id.
- get_vertex_label_id_by_name(vertex_label_name: str) int
 Get vertex label id by name.
- get_edge_label_by_id(edge_label_id: int) str
 Get edge label name by label id.
- get_edge_label_id_by_name(edge_label_name: str) int
 Get edge label id by name.
- vertex_properties(vertex_label_id: int) vector[pair[str, str]]
 Get list of vertex properties by label id.
- vertex_properties(vertex_label_name: str) vector[pair[str, str]]
 Get list of vertex properties by label name.
- edge_properties(edge_label_id: int) vector[pair[str, str]]
 Get list of edge properties by label id.
- edge_properties(edge_label_name: str) vector[pair[str, str]]
 Get list of edge properties by label name.
- get_vertex_property_id_by_name(vertex_label_name: str, vertex_property_name: str) int
 Get vertex property id by property name.
- get_vertex_property_id_by_name(vertex_label_id: int, vertex_property_name: str) int
 Get vertex property id by property name.
- get_vertex_property_by_id(vertex_label_name: str, vertex_property_id: int) str
 Get vertex property name by property id.
- get_vertex_property_by_id(vertex_label_id: int, vertex_property_id: int) int
 Get vertex property name by property id.
- get_edge_property_id_by_name(edge_label_name: str, edge_property_name: str) int
 Get edge property id by property name.
- get_edge_property_id_by_name(edge_label_id: int, edge_property_name: str) int
 Get edge property id by property name.
- get_edge_property_by_id(edge_label_name: str, edge_property_id: int) str
 Get edge property name by property id.
- get_edge_property_by_id(edge_label_id: int, edge_property_id: int) int
 Get edge property name by property id.
- class graphscope.analytical.app.pregel.MessageIterator[MD_TYPE]
 - empty() bool
 Return True if there is no message in queue.
- class graphscope.analytical.app.pregel.PregelAggregatorType
 - kBoolAndAggregator
 Aggregator for calculating the AND function over boolean values. The default value when nothing is aggregated is true.
- kBoolOrAggregator
 Aggregator for calculating the OR function over boolean values. The default value when nothing is aggregated is false.
- kBoolOverwriteAggregator
 Aggregator that stores a value that is overwritten once another value is aggregated. Note that, in case multiple vertices write to this aggregator, the behavior is non-deterministic. The default value for this aggregator is false.
- kDoubleMinAggregator
 Aggregator for getting min double value.
- kDoubleMaxAggregator
 Aggregator for getting max double value.
- kDoubleSumAggregator
 Aggregator for summing up double values.
- kDoubleProductAggregator
 Aggregator for calculating products of double value.
- kDoubleOverwriteAggregator
 Aggregator that stores a value that is overwritten once another value is aggregated. Note that, in case multiple vertices write to this aggregator, the behavior is non-deterministic.
- kInt64MinAggregator
 Aggregator for getting min int64 value.
- kInt64MaxAggregator
 Aggregator for getting max int64 value.
- kInt64SumAggregator
 Aggregator for summing up int64 values.
- kInt64ProductAggregator
 Aggregator for calculating products of int64 value.
- kInt64OverwriteAggregator
 Aggregator that stores a value that is overwritten once another value is aggregated. Note that, in case multiple vertices write to this aggregator, the behavior is non-deterministic.
- kTextAppendAggregator
 Aggregator with string as its value which keeps appending text to it.
PIE¶
- class graphscope.analytical.app.pie.MessageStrategy
 - kAlongOutgoingEdgeToOuterVertex
 For each of inner vertex, it will send messages to target vertex along outgoing edges.
- kAlongIncomingEdgeToOuterVertex
 For each of inner vertex, it will send messages to target vertex along incoming edges.
- kAlongEdgeToOuterVertex
 For each of inner vertex, it will send messages to target vertex along both incoming and outgoing edges.
- kSyncOnOuterVertex
 For each of outer vertex, it will send messages to fragment which it belongs to (sync message to itself).
- class graphscope.analytical.app.pie.Vertex
 - Vertex()
 Vertex in graph.
- class graphscope.analytical.app.pie.VertexRange
 - VertexRange()
 A range list of vertex, which only contain vertex id.
- begin() Vertex
 The begin addr of vertex range list.
- end() Vertex
 The end addr of vertex range list.
- size() int
 The size of vertex range list.
- class graphscope.analytical.app.pie.VertexArray[T]
 - VertexArray()
 A list of vertex, which also contain a vertex data.
- Init(range: VertexRange)
 Init VertexArray with default value.
- Init(range: VertexRange, const T& value)
 Init VertexArray with specify value.
- operator(v: Vertex) T
 Get vertex data.
- class graphscope.analytical.app.pie.Nbr
 - Nbr()
 
- neighbor() Vertex
 Get neighbor vertex.
- get_str(column: int) str
 Get edge str data by column id.
- get_int(column: int) str
 Get edge int data by column id.
- get_double(column: int) str
 Get edge double data by column id.
- class graphscope.analytical.app.pie.AdjList
 - AdjList()
 
- begin() Nbr
 Return begin addr of the adj list.
- end() Nbr
 Return end addr of the adj list.
- size() int
 Get the size of adj list.
- class graphscope.analytical.app.pie.Fragment
 - Fragment()
 
- fid() int
 Get fragment id.
- fnum() int
 Get fragment number.
- vertex_label_num() int
 Get vertex label number.
- edge_label_num() int
 Get edge label number.
- get_total_nodes_num() size_t
 Get total vertex number.
- get_nodes_num(vertex_label_id: int) size_t
 Get vertex(inner + outer) number by label id.
- get_inner_nodes_num(vertex_label_id: int) size_t
 Get inner vertex number by label id.
- get_outer_nodes_num(vertex_label_id: int) size_t
 Get outer vertex number by label id.
- nodes(vertex_label_id: int) VertexRange
 Get vertex range of this fragment by label id.
- inner_nodes(vertex_label_id: int) VertexRange
 Get inner vertex range in this fragment by label id.
- outer_nodes(vertex_label_id: int) VertexRange
 Get outer vertex range in this fragment by label id.
- get_node_fid(v: Vertex) int
 Get fragment id of the v.
- is_inner_node(v: Vertex) bool
 Return True if v is the inner vertex of this fragment.
- is_outer_node(v: Vertex) bool
 Return False if v is the outer vertex of this fragment.
- get_node(label_id: int, oid: string&, v: Vertex&) bool
 Return True if oid exists in this fragment.
- get_inner_node(label_id: int, oid: string&, v: Vertex&) bool
 Return True if oid exists in the inner vertex in this fragment, and assign the node to v.
- get_outer_node(label_id: int, oid: string&, v: Vertex&) bool
 Return True if oid exists in the outer vertex in this fragment, and assign the node to v.
- get_node_id(v: Vertex) str
 Return vertex oid of v.
- get_outgoing_edges(v: Vertex, edge_label_id: int) AdjList
 Get a iterable of outgoing edges by label id of this vertex.
- get_incoming_edges(v: Vertex, edge_label_id: int) AdjList
 Get a iterable of incoming edges by label id of this vertex.
- has_child(v: Vertex, edge_label_id: int) bool
 Return True of vertex has child with connection of edge label id.
- has_parent(v: Vertex, edge_label_id: int) bool
 Return True of vertex has parent with connection of edge label id.
- get_indegree(v: Vertex, edge_label_id: int) bool
 Return the in-degree of edge with specified edge id.
- get_outdegree(v: Vertex, edge_label_id: int) bool
 Return the out-degree of edge with specified edge id.
- get_str(v: Vertex, vertex_property_id: int) str
 Get vertex str data by property id.
- get_int(v: Vertex, vertex_property_id: int) int
 Get vertex int data by property id.
- get_double(v: Vertex, vertex_property_id: int) double
 Get vertex double data by property id.
- vertex_labels() vector[str]
 Get list of vertex label.
- edge_labels() vector[str]
 Get list of edge label.
- get_vertex_label_by_id(vertex_label_id: int) str
 Get vertex label name by label id.
- get_vertex_label_id_by_name(vertex_label_name: str) int
 Get vertex label id by name.
- get_edge_label_by_id(edge_label_id: int) str
 Get edge label name by label id.
- get_edge_label_id_by_name(edge_label_name: str) int
 Get edge label id by name.
- vertex_properties(vertex_label_id: int) vector[pair[str, str]]
 Get list of vertex properties by label id.
- vertex_properties(vertex_label_name: str) vector[pair[str, str]]
 Get list of vertex properties by label name.
- edge_properties(edge_label_id: int) vector[pair[str, str]]
 Get list of edge properties by label id.
- edge_properties(edge_label_name: str) vector[pair[str, str]]
 Get list of edge properties by label name.
- get_vertex_property_id_by_name(vertex_label_name: str, vertex_property_name: str) int
 Get vertex property id by property name.
- get_vertex_property_id_by_name(vertex_label_id: int, vertex_property_name: str) int
 Get vertex property id by property name.
- get_vertex_property_by_id(vertex_label_name: str, vertex_property_id: int) str
 Get vertex property name by property id.
- get_vertex_property_by_id(vertex_label_id: int, vertex_property_id: int) int
 Get vertex property name by property id.
- get_edge_property_id_by_name(edge_label_name: str, edge_property_name: str) int
 Get edge property id by property name.
- get_edge_property_id_by_name(edge_label_id: int, edge_property_name: str) int
 Get edge property id by property name.
- get_edge_property_by_id(edge_label_name: str, edge_property_id: int) str
 Get edge property name by property id.
- get_edge_property_by_id(edge_label_id: int, edge_property_id: int) int
 Get edge property name by property id.
- class graphscope.analytical.app.pie.Context[VD_TYPE, MD_TYPE]
 - Context()
 
- superstep() int
 Get current superstep.
- get_config(key: str) str
 Get a value with specific key, or “” with key not exist.
- init_value(range: VertexRange, value: MD_TYPE, type: PIEAggregateType)
 Init vertex range with value and type aggregator.
- register_sync_buffer(v_label_id: int, strategy: MessageStrategy)
 Set auto parallel message strategy.
- set_node_value(v: Vertex, value: VD_TYPE)
 Set the value of vertex.
- get_node_value(v: Vertex) VD_TYPE
 Get the value of vertex.
- class graphscope.analytical.app.pie.PIEAggregateType
 After messages auto passing, each inner vertex will aggregate messages it received.
- kMinAggregate
 Aggregator for getting min value.
- kMaxAggregate
 Aggregator for getting max value.
- kSumAggregate
 Aggregator for summing up values.
- kProductAggregate
 Aggregator for calculating products of values.
- kOverwriteAggregate
 Aggregator that stores a value that is overwritten once another value is aggregated. Note that, in case multiple vertices write to this aggregator, the behavior is non-deterministic.
- kTextAppendAggregate
 Aggregator with string as its value which keeps appending text to it.
GraphScope types¶
Functions¶
  | 
Declare a GraphScope data type.  |