pub trait EdgeStore: HasEdgeStore {
Show 25 methods // Provided methods fn edges_len(&self) -> usize { ... } fn is_edges_empty(&self) -> bool { ... } fn add_edge<N: NodeStore>( &mut self, edge: Edge, safe: bool, nodes: Option<&N> ) -> Result<Option<Edge>> { ... } fn extend_edges<N: NodeStore>( &mut self, edges: Vec<Edge>, safe: bool, nodes: Option<&N> ) -> Result<Vec<Edge>> { ... } fn check_edge<N: NodeStore>(&self, edge: &Edge, nodes: &N) -> Result<()> { ... } fn del_edge(&mut self, id: &Uuid) -> Option<Edge> { ... } fn get_edge(&self, id: &Uuid) -> Option<&Edge> { ... } fn all_edges(&self) -> Vec<&Edge> { ... } fn edge_ids_between(&self, source: &Uuid, target: &Uuid) -> HashSet<Uuid> { ... } fn edges_between(&self, source: &Uuid, target: &Uuid) -> Vec<&Edge> { ... } fn edge_ids_between_all( &self, sources: &HashSet<Uuid>, targets: &HashSet<Uuid> ) -> HashSet<Uuid> { ... } fn edges_between_all( &self, sources: &HashSet<Uuid>, targets: &HashSet<Uuid> ) -> Vec<&Edge> { ... } fn aggregate_between( &self, source: &Uuid, target: &Uuid, filter: Option<&MetadataFilter> ) -> Aggregate { ... } fn aggregate_between_all( &self, sources: &HashSet<Uuid>, targets: &HashSet<Uuid>, filter: Option<&MetadataFilter> ) -> Aggregate { ... } fn get_aggregate_map( &self, sources: &HashSet<Uuid>, targets: &HashSet<Uuid>, filter: Option<&MetadataFilter> ) -> HashMap<Uuid, HashMap<Uuid, Aggregate>> { ... } fn outgoing_ids_from(&self, source: &Uuid) -> HashSet<Uuid> { ... } fn outgoing_edges_from(&self, source: &Uuid) -> Vec<&Edge> { ... } fn incoming_ids_to(&self, target: &Uuid) -> HashSet<Uuid> { ... } fn incoming_edges_to(&self, target: &Uuid) -> Vec<&Edge> { ... } fn targets_of(&self, source: &Uuid) -> HashSet<Uuid> { ... } fn sources_to(&self, target: &Uuid) -> HashSet<Uuid> { ... } fn is_connected_to( &self, node: &Uuid, others: &HashSet<Uuid>, edge_ids: Option<&HashSet<Uuid>> ) -> bool { ... } fn get_aggregate_value( &self, source: &Uuid, target: &Uuid, aggregator: &Aggregator, filter: Option<&MetadataFilter>, fields: Option<&HashSet<String>> ) -> f64 { ... } fn adjacency_matrix( &self, sources: &Vec<&Uuid>, targets: &Vec<&Uuid>, aggregator: &Aggregator, filter: Option<&MetadataFilter>, fields: Option<&HashSet<String>> ) -> DMatrix<f64> { ... } fn edge_aggregate(&self) -> &Aggregate { ... }
}

Provided Methods§

source

fn edges_len(&self) -> usize

The number of edges in store.

source

fn is_edges_empty(&self) -> bool

Whether the edge store is empty.

source

fn add_edge<N: NodeStore>( &mut self, edge: Edge, safe: bool, nodes: Option<&N> ) -> Result<Option<Edge>>

Add a single edge to this store.

source

fn extend_edges<N: NodeStore>( &mut self, edges: Vec<Edge>, safe: bool, nodes: Option<&N> ) -> Result<Vec<Edge>>

Add multiple edges to this store at once.

source

fn check_edge<N: NodeStore>(&self, edge: &Edge, nodes: &N) -> Result<()>

Check an edge’s source and target reference in a node store.

source

fn del_edge(&mut self, id: &Uuid) -> Option<Edge>

Delete an edge from the store.

source

fn get_edge(&self, id: &Uuid) -> Option<&Edge>

Get an edge from the store.

source

fn all_edges(&self) -> Vec<&Edge>

Get all edges in store.

source

fn edge_ids_between(&self, source: &Uuid, target: &Uuid) -> HashSet<Uuid>

Get all edge IDs between a given source and target node.

source

fn edges_between(&self, source: &Uuid, target: &Uuid) -> Vec<&Edge>

Get all edges between a given source and target node.

source

fn edge_ids_between_all( &self, sources: &HashSet<Uuid>, targets: &HashSet<Uuid> ) -> HashSet<Uuid>

Get all edge IDs between a given set of source and target nodes.

source

fn edges_between_all( &self, sources: &HashSet<Uuid>, targets: &HashSet<Uuid> ) -> Vec<&Edge>

Get all edges between a given set of source and target nodes.

source

fn aggregate_between( &self, source: &Uuid, target: &Uuid, filter: Option<&MetadataFilter> ) -> Aggregate

Get the calculated aggregate of edge metadata between a source and target node with an optional edge filter.

source

fn aggregate_between_all( &self, sources: &HashSet<Uuid>, targets: &HashSet<Uuid>, filter: Option<&MetadataFilter> ) -> Aggregate

Get the calculated aggregate of edge metadata between a set of source and target nodes with an optional edge filter.

source

fn get_aggregate_map( &self, sources: &HashSet<Uuid>, targets: &HashSet<Uuid>, filter: Option<&MetadataFilter> ) -> HashMap<Uuid, HashMap<Uuid, Aggregate>>

Get the aggregate map from source to target to aggregate for a given set of source and target nodes and an optional edge filter.

source

fn outgoing_ids_from(&self, source: &Uuid) -> HashSet<Uuid>

Get all outgoing edge IDs originating from this source node.

source

fn outgoing_edges_from(&self, source: &Uuid) -> Vec<&Edge>

Get all outgoing edges originating from this source node.

source

fn incoming_ids_to(&self, target: &Uuid) -> HashSet<Uuid>

Get all incoming edge IDs towards this target node.

source

fn incoming_edges_to(&self, target: &Uuid) -> Vec<&Edge>

Get all incoming edges towards this target node.

source

fn targets_of(&self, source: &Uuid) -> HashSet<Uuid>

Get all source node IDs that are connected to this target node by an incoming edge.

source

fn sources_to(&self, target: &Uuid) -> HashSet<Uuid>

Get all source node IDs that are connected to this target node by an incoming edge.

source

fn is_connected_to( &self, node: &Uuid, others: &HashSet<Uuid>, edge_ids: Option<&HashSet<Uuid>> ) -> bool

Check whether a node is connected to a set of other nodes. Optionally specify a limited set of edge IDs that are allowed for connections.

source

fn get_aggregate_value( &self, source: &Uuid, target: &Uuid, aggregator: &Aggregator, filter: Option<&MetadataFilter>, fields: Option<&HashSet<String>> ) -> f64

Calculate an aggregate value between a source and target node, optional edge filter and optional field filter.

source

fn adjacency_matrix( &self, sources: &Vec<&Uuid>, targets: &Vec<&Uuid>, aggregator: &Aggregator, filter: Option<&MetadataFilter>, fields: Option<&HashSet<String>> ) -> DMatrix<f64>

Calculate the adjacency matrix given a set of source and target nodes, aggregator, optional edge filter and optional field filter.

source

fn edge_aggregate(&self) -> &Aggregate

Get the aggregate.

Implementors§