pub trait CoreGraphOps: Send + Sync {
Show 29 methods
// Required method
fn core_graph(&self) -> &GraphStorage;
// Provided methods
fn id_type(&self) -> Option<GidType> { ... }
fn num_shards(&self) -> usize { ... }
fn read_event_id(&self) -> usize { ... }
fn unfiltered_num_nodes(&self) -> usize { ... }
fn unfiltered_num_edges(&self) -> usize { ... }
fn unfiltered_num_layers(&self) -> usize { ... }
fn single_layer(&self, layer_ids: &LayerIds) -> Option<usize> { ... }
fn core_edges(&self) -> EdgesStorage { ... }
fn core_edge(&self, eid: EID) -> EdgeStorageEntry<'_> { ... }
fn core_nodes(&self) -> NodesStorage { ... }
fn core_node(&self, vid: VID) -> NodeStorageEntry<'_> { ... }
fn node_meta(&self) -> &Meta { ... }
fn edge_meta(&self) -> &Meta { ... }
fn graph_meta(&self) -> &GraphMeta { ... }
fn get_layer_name(&self, layer_id: usize) -> ArcStr { ... }
fn get_layer_id(&self, name: &str) -> Option<usize> { ... }
fn get_default_layer_id(&self) -> Option<usize> { ... }
fn get_layer_names_from_ids(
&self,
layer_ids: &LayerIds,
) -> Box<dyn Iterator<Item = ArcStr> + Send + Sync> { ... }
fn get_all_node_types(&self) -> Vec<ArcStr> { ... }
fn node_id(&self, v: VID) -> GID { ... }
fn node_name(&self, v: VID) -> String { ... }
fn node_type(&self, v: VID) -> Option<ArcStr> { ... }
fn node_type_id(&self, v: VID) -> usize { ... }
fn internalise_node(&self, v: NodeRef<'_>) -> Option<VID> { ... }
fn internalise_node_unchecked(&self, v: NodeRef<'_>) -> VID { ... }
fn node_metadata(&self, v: VID, id: usize) -> Option<Prop> { ... }
fn node_metadata_ids(
&self,
v: VID,
) -> Box<dyn Iterator<Item = usize> + Send + Sync + '_> { ... }
fn temporal_node_prop_ids(
&self,
v: VID,
) -> Box<dyn Iterator<Item = usize> + '_> { ... }
}Expand description
Core functions that should (almost-)always be implemented by pointing at the underlying graph.
Required Methods§
fn core_graph(&self) -> &GraphStorage
Provided Methods§
fn id_type(&self) -> Option<GidType>
fn num_shards(&self) -> usize
Sourcefn read_event_id(&self) -> usize
fn read_event_id(&self) -> usize
get the current sequence id without incrementing the counter
Sourcefn unfiltered_num_nodes(&self) -> usize
fn unfiltered_num_nodes(&self) -> usize
get the number of nodes in the main graph
Sourcefn unfiltered_num_edges(&self) -> usize
fn unfiltered_num_edges(&self) -> usize
get the number of edges in the main graph
Sourcefn unfiltered_num_layers(&self) -> usize
fn unfiltered_num_layers(&self) -> usize
get the number of layers in the main graph
Sourcefn single_layer(&self, layer_ids: &LayerIds) -> Option<usize>
fn single_layer(&self, layer_ids: &LayerIds) -> Option<usize>
Return the id of the single layer if layer_ids reduces to a graph with a single layer, else None
fn core_edges(&self) -> EdgesStorage
fn core_edge(&self, eid: EID) -> EdgeStorageEntry<'_>
fn core_nodes(&self) -> NodesStorage
fn core_node(&self, vid: VID) -> NodeStorageEntry<'_>
fn node_meta(&self) -> &Meta
fn edge_meta(&self) -> &Meta
fn graph_meta(&self) -> &GraphMeta
fn get_layer_name(&self, layer_id: usize) -> ArcStr
fn get_layer_id(&self, name: &str) -> Option<usize>
fn get_default_layer_id(&self) -> Option<usize>
Sourcefn get_layer_names_from_ids(
&self,
layer_ids: &LayerIds,
) -> Box<dyn Iterator<Item = ArcStr> + Send + Sync>
fn get_layer_names_from_ids( &self, layer_ids: &LayerIds, ) -> Box<dyn Iterator<Item = ArcStr> + Send + Sync>
Get the layer name for a given id
Sourcefn get_all_node_types(&self) -> Vec<ArcStr>
fn get_all_node_types(&self) -> Vec<ArcStr>
Get all node types
Sourcefn node_type_id(&self, v: VID) -> usize
fn node_type_id(&self, v: VID) -> usize
Returns the type id of a node
Sourcefn internalise_node(&self, v: NodeRef<'_>) -> Option<VID>
fn internalise_node(&self, v: NodeRef<'_>) -> Option<VID>
Gets the internal reference for an external node reference and keeps internal references unchanged.
Sourcefn internalise_node_unchecked(&self, v: NodeRef<'_>) -> VID
fn internalise_node_unchecked(&self, v: NodeRef<'_>) -> VID
Gets the internal reference for an external node reference and keeps internal references unchanged. Assumes node exists!
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".