Struct raphtory::db::graph::views::deletion_graph::PersistentGraph

source ·
pub struct PersistentGraph(/* private fields */);
Expand description

A graph view where an edge remains active from the time it is added until it is explicitly marked as deleted.

Note that the graph will give you access to all edges that were added at any point in time, even those that are marked as deleted. The deletion only has an effect on the exploded edge view that are returned. An edge is included in a windowed view of the graph if it is considered active at any point in the window.

Implementations§

source§

impl PersistentGraph

source

pub fn new() -> Self

source

pub fn from_storage(storage: Arc<Storage>) -> Self

source

pub fn from_internal_graph(internal_graph: GraphStorage) -> Self

source

pub fn event_graph(&self) -> Graph

Get event graph

Trait Implementations§

source§

impl Base for PersistentGraph

source§

type Base = Storage

source§

fn base(&self) -> &Self::Base

source§

impl Clone for PersistentGraph

source§

fn clone(&self) -> PersistentGraph

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PersistentGraph

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PersistentGraph

source§

fn default() -> PersistentGraph

Returns the “default value” for a type. Read more
source§

impl DeletionOps for PersistentGraph

source§

fn delete_edge<V: AsNodeRef, T: TryIntoInputTime>( &self, t: T, src: V, dst: V, layer: Option<&str>, ) -> Result<EdgeView<Self>, GraphError>

source§

fn delete_edge_with_custom_time_format<V: AsNodeRef>( &self, t: &str, fmt: &str, src: V, dst: V, layer: Option<&str>, ) -> Result<EdgeView<Self>, GraphError>

source§

impl<'de> Deserialize<'de> for PersistentGraph

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for PersistentGraph

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<GraphStorage> for PersistentGraph

source§

fn from(value: GraphStorage) -> Self

Converts to this type from the input type.
source§

impl From<PersistentGraph> for MaterializedGraph

source§

fn from(v: PersistentGraph) -> MaterializedGraph

Converts to this type from the input type.
source§

impl InternalMaterialize for PersistentGraph

source§

impl<'graph, G: GraphViewOps<'graph>> PartialEq<G> for PersistentGraph

source§

fn eq(&self, other: &G) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for PersistentGraph

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TimeSemantics for PersistentGraph

source§

fn node_earliest_time(&self, v: VID) -> Option<i64>

Return the earliest time for a node
source§

fn node_latest_time(&self, _v: VID) -> Option<i64>

Return the latest time for a node
source§

fn view_start(&self) -> Option<i64>

Returns the start of the current view or None if unbounded
source§

fn view_end(&self) -> Option<i64>

Returns the end of the current view or None if unbounded
source§

fn earliest_time_global(&self) -> Option<i64>

Returns the timestamp for the earliest activity
source§

fn latest_time_global(&self) -> Option<i64>

Returns the timestamp for the latest activity
source§

fn earliest_time_window(&self, start: i64, end: i64) -> Option<i64>

Returns the timestamp for the earliest activity in the window
source§

fn latest_time_window(&self, start: i64, end: i64) -> Option<i64>

Returns the timestamp for the latest activity in the window
source§

fn node_earliest_time_window(&self, v: VID, start: i64, end: i64) -> Option<i64>

Return the earliest time for a node in a window
source§

fn node_latest_time_window(&self, v: VID, _start: i64, end: i64) -> Option<i64>

Return the latest time for a node in a window
source§

fn include_node_window( &self, node: NodeStorageRef<'_>, w: Range<i64>, _layer_ids: &LayerIds, ) -> bool

check if node v should be included in window w
source§

fn include_edge_window( &self, edge: EdgeStorageRef<'_>, w: Range<i64>, layer_ids: &LayerIds, ) -> bool

check if edge e should be included in window w
source§

fn node_history(&self, v: VID) -> Vec<i64>

Get the timestamps at which a node v is active (i.e has an edge addition)
source§

fn node_history_window(&self, v: VID, w: Range<i64>) -> Vec<i64>

Get the timestamps at which a node v is active in window w (i.e has an edge addition)
source§

fn edge_history(&self, e: EdgeRef, layer_ids: LayerIds) -> Vec<i64>

source§

fn edge_history_window( &self, e: EdgeRef, layer_ids: LayerIds, w: Range<i64>, ) -> Vec<i64>

source§

fn edge_exploded_count( &self, edge: EdgeStorageRef<'_>, layer_ids: &LayerIds, ) -> usize

The number of exploded edge events for the edge
source§

fn edge_exploded_count_window( &self, edge: EdgeStorageRef<'_>, layer_ids: &LayerIds, w: Range<i64>, ) -> usize

The number of exploded edge events for the edge in the window w
source§

fn edge_exploded(&self, e: EdgeRef, layer_ids: &LayerIds) -> BoxedIter<EdgeRef>

Exploded edge iterator for edge e
source§

fn edge_layers(&self, e: EdgeRef, layer_ids: &LayerIds) -> BoxedIter<EdgeRef>

Explode edge iterator for edge e for every layer
source§

fn edge_window_exploded( &self, e: EdgeRef, w: Range<i64>, layer_ids: &LayerIds, ) -> BoxedIter<EdgeRef>

Exploded edge iterator for edgee over window w
source§

fn edge_window_layers( &self, e: EdgeRef, w: Range<i64>, layer_ids: &LayerIds, ) -> BoxedIter<EdgeRef>

Exploded edge iterator for edge e over window w for every layer
source§

fn edge_earliest_time(&self, e: EdgeRef, layer_ids: &LayerIds) -> Option<i64>

Get the time of the earliest activity of an edge
source§

fn edge_earliest_time_window( &self, e: EdgeRef, w: Range<i64>, layer_ids: &LayerIds, ) -> Option<i64>

Get the time of the earliest activity of an edge e in window w
source§

fn edge_latest_time(&self, e: EdgeRef, layer_ids: &LayerIds) -> Option<i64>

Get the time of the latest activity of an edge
source§

fn edge_latest_time_window( &self, e: EdgeRef, w: Range<i64>, layer_ids: &LayerIds, ) -> Option<i64>

Get the time of the latest activity of an edge e in window w
source§

fn edge_deletion_history(&self, e: EdgeRef, layer_ids: &LayerIds) -> Vec<i64>

Get the edge deletions for use with materialize
source§

fn edge_deletion_history_window( &self, e: EdgeRef, w: Range<i64>, layer_ids: &LayerIds, ) -> Vec<i64>

Get the edge deletions for use with materialize restricted to window w
source§

fn edge_is_valid(&self, e: EdgeRef, layer_ids: &LayerIds) -> bool

Check if edge e is currently valid in any layer included in layer_ids
source§

fn edge_is_valid_at_end( &self, e: EdgeRef, layer_ids: &LayerIds, end: i64, ) -> bool

Check if edge e is valid at the end of a window with exclusive end time t in all layers included in layer_ids
source§

fn has_temporal_prop(&self, prop_id: usize) -> bool

Check if graph has temporal property with the given id Read more
source§

fn temporal_prop_vec(&self, prop_id: usize) -> Vec<(i64, Prop)>

Returns a vector of all temporal values of the graph property with the given id Read more
source§

fn has_temporal_prop_window(&self, prop_id: usize, w: Range<i64>) -> bool

Check if graph has temporal property with the given id in the window Read more
source§

fn temporal_prop_vec_window( &self, prop_id: usize, start: i64, end: i64, ) -> Vec<(i64, Prop)>

Returns a vector of all temporal values of the graph property with the given name that fall within the specified time window. Read more
source§

fn has_temporal_node_prop(&self, v: VID, prop_id: usize) -> bool

Check if node has temporal property with the given id Read more
source§

fn temporal_node_prop_vec(&self, v: VID, prop_id: usize) -> Vec<(i64, Prop)>

Returns a vector of all temporal values of the node property with the given name for the given node Read more
source§

fn has_temporal_node_prop_window( &self, v: VID, prop_id: usize, w: Range<i64>, ) -> bool

Check if node has temporal property with the given id in the window Read more
source§

fn temporal_node_prop_vec_window( &self, v: VID, prop_id: usize, start: i64, end: i64, ) -> Vec<(i64, Prop)>

Returns a vector of all temporal values of the node property with the given name for the given node that fall within the specified time window. Read more
source§

fn has_temporal_edge_prop_window( &self, e: EdgeRef, prop_id: usize, w: Range<i64>, layer_ids: &LayerIds, ) -> bool

Check if edge has temporal property with the given id in the window Read more
source§

fn temporal_edge_prop_vec_window( &self, e: EdgeRef, prop_id: usize, start: i64, end: i64, layer_ids: &LayerIds, ) -> Vec<(i64, Prop)>

Returns a vector of tuples containing the values of the temporal property with the given name for the given edge reference within the specified time window. Read more
source§

fn has_temporal_edge_prop( &self, e: EdgeRef, prop_id: usize, layer_ids: &LayerIds, ) -> bool

Check if edge has temporal property with the given id Read more
source§

fn temporal_edge_prop_vec( &self, e: EdgeRef, prop_id: usize, layer_ids: &LayerIds, ) -> Vec<(i64, Prop)>

Returns a vector of tuples containing the values of the temporal property with the given name for the given edge reference. Read more
source§

impl TryInto<PersistentGraph> for MaterializedGraph

source§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_into( self, ) -> Result<PersistentGraph, <Self as TryInto<PersistentGraph>>::Error>

Performs the conversion.
source§

impl HasDeletionOps for PersistentGraph

source§

impl InheritCoreOps for PersistentGraph

source§

impl InheritEdgeFilterOps for PersistentGraph

source§

impl InheritLayerOps for PersistentGraph

source§

impl InheritListOps for PersistentGraph

source§

impl InheritMutationOps for PersistentGraph

source§

impl InheritNodeFilterOps for PersistentGraph

source§

impl InheritPropertiesOps for PersistentGraph

source§

impl Static for PersistentGraph

Auto Trait Implementations§

Blanket Implementations§

source§

impl<G> AdditionOps for G

source§

fn add_node<V, T, PI>( &self, t: T, v: V, props: PI, node_type: Option<&str>, ) -> Result<NodeView<G>, GraphError>

Add a node to the graph Read more
source§

fn add_edge<V, T, PI>( &self, t: T, src: V, dst: V, props: PI, layer: Option<&str>, ) -> Result<EdgeView<G>, GraphError>

Adds an edge between the source and destination nodes with the given timestamp and properties. Read more
source§

fn add_node_with_custom_time_format<V: AsNodeRef, PI: CollectProperties>( &self, t: &str, fmt: &str, v: V, props: PI, node_type: Option<&str>, ) -> Result<NodeView<Self, Self>, GraphError>

source§

fn add_edge_with_custom_time_format<V: AsNodeRef, PI: CollectProperties>( &self, t: &str, fmt: &str, src: V, dst: V, props: PI, layer: Option<&str>, ) -> Result<EdgeView<Self, Self>, GraphError>

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<P> ConstPropertiesOps for P

source§

fn get_const_prop_id(&self, name: &str) -> Option<usize>

Find id for property name (note this only checks the meta-data, not if the property actually exists for the entity)
source§

fn get_const_prop_name(&self, id: usize) -> ArcStr

source§

fn const_prop_ids(&self) -> Box<dyn Iterator<Item = usize> + '_>

source§

fn const_prop_keys(&self) -> Box<dyn Iterator<Item = ArcStr> + '_>

source§

fn const_prop_values(&self) -> Vec<Prop>

source§

fn get_const_prop(&self, id: usize) -> Option<Prop>

source§

impl<G> CoreGraphOps for G
where G: DelegateCoreOps + ?Sized,

source§

fn core_graph(&self) -> &GraphStorage

source§

fn unfiltered_num_nodes(&self) -> usize

get the number of nodes in the main graph
source§

fn unfiltered_num_edges(&self) -> usize

get the number of edges in the main graph
source§

fn unfiltered_num_layers(&self) -> usize

get the number of layers in the main graph
source§

fn core_edges(&self) -> EdgesStorage

source§

fn core_edge(&self, eid: ELID) -> EdgeStorageEntry<'_>

source§

fn core_edge_arc(&self, eid: ELID) -> EdgeOwnedEntry

source§

fn core_nodes(&self) -> NodesStorage

source§

fn core_node_entry(&self, vid: VID) -> NodeStorageEntry<'_>

source§

fn core_node_arc(&self, vid: VID) -> NodeOwnedEntry

source§

fn node_meta(&self) -> &Meta

source§

fn edge_meta(&self) -> &Meta

source§

fn graph_meta(&self) -> &GraphMeta

source§

fn get_layer_name(&self, layer_id: usize) -> ArcStr

source§

fn get_layer_id(&self, name: &str) -> Option<usize>

source§

fn get_layer_names_from_ids(&self, layer_ids: &LayerIds) -> BoxedIter<ArcStr>

Get the layer name for a given id
source§

fn get_all_node_types(&self) -> Vec<ArcStr>

Get all node types
source§

fn node_id(&self, v: VID) -> GID

Returns the external ID for a node
source§

fn node_name(&self, v: VID) -> String

Returns the string name for a node
source§

fn node_type(&self, v: VID) -> Option<ArcStr>

Returns the type of node
source§

fn node_type_id(&self, v: VID) -> usize

Returns the type id of a node
source§

fn internalise_node(&self, v: NodeRef<'_>) -> Option<VID>

Gets the internal reference for an external node reference and keeps internal references unchanged.
source§

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!
source§

fn constant_prop(&self, id: usize) -> Option<Prop>

Gets a static graph property. Read more
source§

fn temporal_prop(&self, id: usize) -> Option<LockedView<'_, TProp>>

Gets a temporal graph property. Read more
source§

fn constant_node_prop(&self, v: VID, id: usize) -> Option<Prop>

Gets a static property of a given node given the name and node reference. Read more
source§

fn constant_node_prop_ids(&self, v: VID) -> Box<dyn Iterator<Item = usize> + '_>

Gets the keys of constant properties of a given node Read more
source§

fn temporal_node_prop_ids(&self, v: VID) -> Box<dyn Iterator<Item = usize> + '_>

Returns a vector of all ids of temporal properties within the given node Read more
source§

fn get_const_edge_prop( &self, e: EdgeRef, id: usize, layer_ids: LayerIds, ) -> Option<Prop>

Returns the static edge property with the given name for the given edge reference. Read more
source§

fn const_edge_prop_ids( &self, e: EdgeRef, layer_ids: LayerIds, ) -> Box<dyn Iterator<Item = usize> + '_>

Returns a vector of keys for the static properties of the given edge reference. Read more
source§

fn temporal_edge_prop_ids( &self, e: EdgeRef, layer_ids: &LayerIds, ) -> Box<dyn Iterator<Item = usize> + '_>

Returns a vector of keys for the temporal properties of the given edge reference. Read more
source§

impl<G> DelegateAdditionOps for G

source§

impl<G> DelegateCoreOps for G
where G: InheritCoreOps, <G as Base>::Base: CoreGraphOps,

source§

type Internal = <G as Base>::Base

source§

fn graph(&self) -> &<G as DelegateCoreOps>::Internal

source§

impl<G> DelegateDeletionOps for G

source§

impl<G> DelegateEdgeFilterOps for G

source§

impl<G> DelegateLayerOps for G

source§

type Internal = <G as Base>::Base

source§

fn graph(&self) -> &<G as DelegateLayerOps>::Internal

source§

impl<G> DelegatePropertyAdditionOps for G

source§

impl<G> EdgeFilterOps for G

source§

fn edges_filtered(&self) -> bool

If true, the edges from the underlying storage are filtered
source§

fn edge_list_trusted(&self) -> bool

If true, all edges returned by self.edge_list() exist, otherwise it needs further filtering
source§

fn edge_filter_includes_node_filter(&self) -> bool

If true, do not need to check src and dst of the edge separately, even if nodes are filtered (i.e., edge filter already makes sure there are no edges between non-existent nodes)
source§

fn filter_edge(&self, edge: EdgeStorageRef<'_>, layer_ids: &LayerIds) -> bool

source§

impl<G> FilterOps for G

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<'graph, G> GraphViewOps<'graph> for G
where G: BoxableGraphView + Clone + 'graph,

source§

fn unique_layers(&self) -> Box<dyn Iterator<Item = ArcStr> + Send>

Return all the layer ids in the graph

source§

fn edges(&self) -> Edges<'graph, G>

Return an iterator over all edges in the graph.
source§

fn nodes(&self) -> Nodes<'graph, G>

Return a View of the nodes in the Graph
source§

fn materialize(&self) -> Result<MaterializedGraph, GraphError>

Get a graph clone Read more
source§

fn subgraph<I, V>(&self, nodes: I) -> NodeSubgraph<G>
where I: IntoIterator<Item = V>, V: AsNodeRef,

source§

fn subgraph_node_types<I, V>(&self, nodes_types: I) -> TypeFilteredSubgraph<G>
where I: IntoIterator<Item = V>, V: Borrow<str>,

source§

fn exclude_nodes<I, V>(&self, nodes: I) -> NodeSubgraph<G>
where I: IntoIterator<Item = V>, V: AsNodeRef,

source§

fn earliest_time(&self) -> Option<i64>

Timestamp of earliest activity in the graph
source§

fn latest_time(&self) -> Option<i64>

Timestamp of latest activity in the graph
source§

fn count_nodes(&self) -> usize

Return the number of nodes in the graph.
source§

fn count_edges(&self) -> usize

Return the number of edges in the graph.
source§

fn count_temporal_edges(&self) -> usize

source§

fn has_node<T>(&self, v: T) -> bool
where T: AsNodeRef,

Check if the graph contains a node v.
source§

fn has_edge<T>(&self, src: T, dst: T) -> bool
where T: AsNodeRef,

Check if the graph contains an edge given a pair of nodes (src, dst).
source§

fn node<T>(&self, v: T) -> Option<NodeView<G>>
where T: AsNodeRef,

Get a node v.
source§

fn edge<T>(&self, src: T, dst: T) -> Option<EdgeView<G>>
where T: AsNodeRef,

Get an edge (src, dst).
source§

fn properties(&self) -> Properties<G>

Get all property values of this graph. Read more
source§

fn earliest_date_time(&self) -> Option<DateTime<Utc>>

UTC DateTime of earliest activity in the graph
source§

fn latest_date_time(&self) -> Option<DateTime<Utc>>

UTC DateTime of latest activity in the graph
source§

fn is_empty(&self) -> bool

Check if the graph is empty.
source§

impl<G> ImportOps for G

source§

fn import_node<'a, GHH, GH>( &self, node: &NodeView<GHH, GH>, force: bool, ) -> Result<NodeView<G>, GraphError>
where GHH: GraphViewOps<'a>, GH: GraphViewOps<'a>,

Imports a single node into the graph. Read more
source§

fn import_nodes<'a, GHH, GH>( &self, nodes: impl IntoIterator<Item = impl Borrow<NodeView<GHH, GH>>>, force: bool, ) -> Result<(), GraphError>
where GHH: GraphViewOps<'a>, GH: GraphViewOps<'a>,

Imports multiple nodes into the graph. Read more
source§

fn import_edge<'a, GHH, GH>( &self, edge: &EdgeView<GHH, GH>, force: bool, ) -> Result<EdgeView<G>, GraphError>
where GHH: GraphViewOps<'a>, GH: GraphViewOps<'a>,

Imports a single edge into the graph. Read more
source§

fn import_edges<'a, GHH, GH>( &self, edges: impl IntoIterator<Item = impl Borrow<EdgeView<GHH, GH>>>, force: bool, ) -> Result<(), GraphError>
where GHH: GraphViewOps<'a>, GH: GraphViewOps<'a>,

Imports multiple edges into the graph. Read more
source§

impl<G> InternalAdditionOps for G

source§

fn next_event_id(&self) -> Result<usize, GraphError>

get the sequence id for the next event
source§

fn resolve_layer( &self, layer: Option<&str>, ) -> Result<MaybeNew<usize>, GraphError>

map layer name to id and allocate a new layer if needed
source§

fn resolve_node<V>(&self, n: V) -> Result<MaybeNew<VID>, GraphError>
where V: AsNodeRef,

map external node id to internal id, allocating a new empty node if needed
source§

fn resolve_node_and_type<V>( &self, id: V, node_type: &str, ) -> Result<MaybeNew<(MaybeNew<VID>, MaybeNew<usize>)>, GraphError>
where V: AsNodeRef,

resolve a node and corresponding type, outer MaybeNew tracks whether the type assignment is new for the node even if both node and type already existed.
source§

fn resolve_graph_property( &self, prop: &str, dtype: PropType, is_static: bool, ) -> Result<MaybeNew<usize>, GraphError>

map property key to internal id, allocating new property if needed
source§

fn resolve_node_property( &self, prop: &str, dtype: PropType, is_static: bool, ) -> Result<MaybeNew<usize>, GraphError>

map property key to internal id, allocating new property if needed and checking property type. returns None if the type does not match
source§

fn resolve_edge_property( &self, prop: &str, dtype: PropType, is_static: bool, ) -> Result<MaybeNew<usize>, GraphError>

source§

fn internal_add_node( &self, t: TimeIndexEntry, v: VID, props: &[(usize, Prop)], ) -> Result<(), GraphError>

add node update
source§

fn internal_add_edge( &self, t: TimeIndexEntry, src: VID, dst: VID, props: &[(usize, Prop)], layer: usize, ) -> Result<MaybeNew<EID>, GraphError>

add edge update
source§

fn internal_add_edge_update( &self, t: TimeIndexEntry, edge: EID, props: &[(usize, Prop)], layer: usize, ) -> Result<(), GraphError>

add update for an existing edge
source§

impl<G> InternalDeletionOps for G

source§

impl<G> InternalLayerOps for G

source§

fn layer_ids(&self) -> &LayerIds

get the layer ids for the graph view
source§

fn layer_ids_from_names(&self, key: Layer) -> Result<LayerIds, GraphError>

Get the layer id for the given layer name
source§

fn valid_layer_ids_from_names(&self, key: Layer) -> LayerIds

Get the valid layer ids for given layer names
source§

impl<G> InternalPropertyAdditionOps for G

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<G> IntoDynamic for G

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<'graph, V> LayerOps<'graph> for V
where V: OneHopFilter<'graph> + 'graph,

source§

type LayeredViewType = <V as OneHopFilter<'graph>>::Filtered<LayeredGraph<<V as OneHopFilter<'graph>>::FilteredGraph>>

source§

fn default_layer(&self) -> <V as LayerOps<'graph>>::LayeredViewType

Return a graph containing only the default edge layer
source§

fn layers<L>( &self, layers: L, ) -> Result<<V as LayerOps<'graph>>::LayeredViewType, GraphError>
where L: Into<Layer>,

Return a graph containing the layers in names. Errors if one or more of the layers do not exists.
source§

fn exclude_layers<L>( &self, layers: L, ) -> Result<<V as LayerOps<'graph>>::LayeredViewType, GraphError>
where L: Into<Layer>,

Return a graph containing the excluded layers in names. Errors if one or more of the layers do not exists.
source§

fn exclude_valid_layers<L>( &self, layers: L, ) -> <V as LayerOps<'graph>>::LayeredViewType
where L: Into<Layer>,

source§

fn has_layer(&self, name: &str) -> bool

Check if name is a valid layer name
source§

fn valid_layers<L>(&self, names: L) -> <V as LayerOps<'graph>>::LayeredViewType
where L: Into<Layer>,

Return a graph containing the layers in names. Any layers that do not exist are ignored.
source§

impl<G> ListOps for G
where G: InheritListOps, <G as Base>::Base: ListOps,

source§

impl<G> NodeFilterOps for G

source§

fn nodes_filtered(&self) -> bool

Check if GraphView filters nodes (i.e., there exists nodes in the underlying graph for which filter_node returns false
source§

fn node_list_trusted(&self) -> bool

Check if node list can be trusted. (if false, nodes in self.node_list need further filtering, if true, the result of self.node_list can be trusted, in particular, its len is the number of nodes in the graph)
source§

fn filter_node(&self, node: NodeStorageRef<'_>, layer_ids: &LayerIds) -> bool

If true, node is included in the graph
source§

impl<'graph, G> OneHopFilter<'graph> for G
where G: GraphViewOps<'graph> + 'graph,

source§

type BaseGraph = G

source§

type FilteredGraph = G

source§

type Filtered<GH: GraphViewOps<'graph> + 'graph> = GH

source§

fn current_filter(&self) -> &<G as OneHopFilter<'graph>>::FilteredGraph

source§

fn base_graph(&self) -> &<G as OneHopFilter<'graph>>::BaseGraph

source§

fn one_hop_filtered<GH>( &self, filtered_graph: GH, ) -> <G as OneHopFilter<'graph>>::Filtered<GH>
where GH: GraphViewOps<'graph> + 'graph,

source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
source§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<G> PropertyAdditionOps for G

source§

fn add_properties<T, PI>(&self, t: T, props: PI) -> Result<(), GraphError>

source§

fn add_constant_properties<PI>(&self, props: PI) -> Result<(), GraphError>

source§

fn update_constant_properties<PI>(&self, props: PI) -> Result<(), GraphError>

source§

impl<P> TemporalPropertiesOps for P

source§

fn get_temporal_prop_id(&self, name: &str) -> Option<usize>

source§

fn get_temporal_prop_name(&self, id: usize) -> ArcStr

source§

fn temporal_prop_ids(&self) -> Box<dyn Iterator<Item = usize> + '_>

source§

fn temporal_prop_keys(&self) -> Box<dyn Iterator<Item = ArcStr> + '_>

source§

impl<P> TemporalPropertyViewOps for P

source§

impl<'graph, V> TimeOps<'graph> for V
where V: OneHopFilter<'graph> + 'graph,

source§

type WindowedViewType = <V as InternalTimeOps<'graph>>::InternalWindowedViewType

source§

fn start(&self) -> Option<i64>

Return the timestamp of the start of the view or None if the view start is unbounded.
source§

fn end(&self) -> Option<i64>

Return the timestamp of the of the view or None if the view end is unbounded.
source§

fn start_date_time(&self) -> Option<DateTime<Utc>>

source§

fn end_date_time(&self) -> Option<DateTime<Utc>>

source§

fn shrink_start<T: IntoTime>(&self, start: T) -> Self::WindowedViewType

set the start of the window to the larger of start and self.start()
source§

fn shrink_end<T: IntoTime>(&self, end: T) -> Self::WindowedViewType

set the end of the window to the smaller of end and self.end()
source§

fn shrink_window<T: IntoTime>(&self, start: T, end: T) -> Self::WindowedViewType

shrink both the start and end of the window (same as calling shrink_start followed by shrink_end but more efficient)
source§

fn window_size(&self) -> Option<u64>

Return the size of the window covered by this view or None if the window is unbounded
source§

fn window<T1: IntoTime, T2: IntoTime>( &self, start: T1, end: T2, ) -> Self::WindowedViewType

Create a view including all events between start (inclusive) and end (exclusive)
source§

fn at<T: IntoTime>(&self, time: T) -> Self::WindowedViewType

Create a view that only includes events at time
source§

fn after<T: IntoTime>(&self, start: T) -> Self::WindowedViewType

Create a view that only includes events after start (exclusive)
source§

fn before<T: IntoTime>(&self, end: T) -> Self::WindowedViewType

Create a view that only includes events before end (exclusive)
source§

fn expanding<I>( &self, step: I, ) -> Result<WindowSet<'graph, Self>, ParseTimeError>
where Self: Sized + Clone + 'static, I: TryInto<Interval, Error = ParseTimeError>,

Creates a WindowSet with the given step size
using an expanding window. The last window may fall partially outside the range of the data/view. Read more
source§

fn rolling<I>( &self, window: I, step: Option<I>, ) -> Result<WindowSet<'graph, Self>, ParseTimeError>
where Self: Sized + Clone + 'static, I: TryInto<Interval, Error = ParseTimeError>,

Creates a WindowSet with the given window size and optional step using a rolling window. The last window may fall partially outside the range of the data/view. Read more
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<G> BoxableGraphView for G

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

source§

impl<G> InheritAdditionOps for G

source§

impl<G> InheritDeletionOps for G

source§

impl<G> InheritPropertyAdditionOps for G

source§

impl<P> InheritStaticPropertiesOps for P

source§

impl<P> InheritTemporalPropertiesOps for P

source§

impl<P> InheritTemporalPropertyViewOps for P

source§

impl<P> PropertiesOps for P

source§

impl<T> StateType for T
where T: PartialEq + Clone + Debug + Send + Sync + 'static,

source§

impl<G> StaticGraphViewOps for G
where G: for<'graph> GraphViewOps<'graph> + 'static,