pub struct Nodes<'graph, G, GH = G, F = Const<bool>> { /* private fields */ }Implementations§
Source§impl<'graph, G> Nodes<'graph, G>where
G: GraphViewOps<'graph> + Clone,
impl<'graph, G> Nodes<'graph, G>where
G: GraphViewOps<'graph> + Clone,
Source§impl<'graph, G, GH, F> Nodes<'graph, G, GH, F>where
G: GraphViewOps<'graph> + 'graph,
GH: GraphViewOps<'graph> + 'graph,
F: NodeFilterOp + Clone + 'graph,
impl<'graph, G, GH, F> Nodes<'graph, G, GH, F>where
G: GraphViewOps<'graph> + 'graph,
GH: GraphViewOps<'graph> + 'graph,
F: NodeFilterOp + Clone + 'graph,
pub fn new_filtered( base_graph: G, graph: GH, predicate: F, nodes: Option<Index<VID>>, ) -> Self
pub fn node_list(&self) -> NodeList
pub fn indexed(&self, index: Index<VID>) -> Nodes<'graph, G, GH, F>
pub fn iter( &self, ) -> impl Iterator<Item = NodeView<'_, &GH>> + use<'_, 'graph, G, GH, F>
pub fn iter_unlocked( &self, ) -> impl Iterator<Item = NodeView<'_, &GH>> + use<'_, 'graph, G, GH, F>
pub fn iter_owned(&self) -> BoxedLIter<'graph, NodeView<'graph, GH>>
pub fn iter_owned_unlocked(&self) -> BoxedLIter<'graph, NodeView<'graph, GH>>
pub fn par_iter( &self, ) -> impl ParallelIterator<Item = NodeView<'_, &GH>> + use<'_, 'graph, G, GH, F>
pub fn into_par_iter( self, ) -> impl ParallelIterator<Item = NodeView<'graph, GH>> + 'graph
pub fn get<V: AsNodeRef>(&self, node: V) -> Option<NodeView<'graph, GH>>
pub fn type_filter<I: IntoIterator<Item = V>, V: AsRef<str>>( &self, node_types: I, ) -> Nodes<'graph, G, GH, AndOp<F, NodeTypeFilterOp>>
pub fn id_filter( &self, nodes: impl IntoIterator<Item = impl AsNodeRef>, ) -> Nodes<'graph, G, GH, F>
pub fn get_metadata_id(&self, prop_name: &str) -> Option<usize>
pub fn get_temporal_prop_id(&self, prop_name: &str) -> Option<usize>
pub fn is_list_filtered(&self) -> bool
pub fn is_filtered(&self) -> bool
pub fn contains<V: AsNodeRef>(&self, node: V) -> bool
Trait Implementations§
Source§impl<'graph, G: GraphViewOps<'graph>, GH: GraphViewOps<'graph>, F: NodeFilterOp + Clone + 'graph + Debug> Debug for Nodes<'graph, G, GH, F>
impl<'graph, G: GraphViewOps<'graph>, GH: GraphViewOps<'graph>, F: NodeFilterOp + Clone + 'graph + Debug> Debug for Nodes<'graph, G, GH, F>
Source§impl<'graph, G, Current, F> InternalFilter<'graph> for Nodes<'graph, G, Current, F>where
G: GraphViewOps<'graph> + 'graph,
Current: GraphViewOps<'graph> + 'graph,
F: NodeFilterOp + Clone + 'graph,
impl<'graph, G, Current, F> InternalFilter<'graph> for Nodes<'graph, G, Current, F>where
G: GraphViewOps<'graph> + 'graph,
Current: GraphViewOps<'graph> + 'graph,
F: NodeFilterOp + Clone + 'graph,
type Graph = Current
type Filtered<Next: GraphViewOps<'graph>> = Nodes<'graph, G, Next, F>
fn base_graph(&self) -> &Self::Graph
fn apply_filter<Next: GraphViewOps<'graph>>( &self, filtered_graph: Next, ) -> Self::Filtered<Next>
Source§impl<'graph, G, GH, F> InternalNodeSelect<'graph> for Nodes<'graph, G, GH, F>where
G: GraphViewOps<'graph> + 'graph,
GH: GraphViewOps<'graph> + 'graph,
F: NodeFilterOp + 'graph,
impl<'graph, G, GH, F> InternalNodeSelect<'graph> for Nodes<'graph, G, GH, F>where
G: GraphViewOps<'graph> + 'graph,
GH: GraphViewOps<'graph> + 'graph,
F: NodeFilterOp + 'graph,
type IterGraph = GH
type IterFiltered<Filter: NodeFilterOp + 'graph> = Nodes<'graph, G, GH, AndOp<F, Filter>>
fn iter_graph(&self) -> &Self::IterGraph
fn apply_iter_filter<Filter: NodeFilterOp + 'graph>( &self, filter: Filter, ) -> Self::IterFiltered<Filter>
Source§impl<G: IntoDynamic, GH: IntoDynamic, F: NodeFilterOp + IntoDynNodeOp + 'static> IntoDynNodes for Nodes<'static, G, GH, F>
impl<G: IntoDynamic, GH: IntoDynamic, F: NodeFilterOp + IntoDynNodeOp + 'static> IntoDynNodes for Nodes<'static, G, GH, F>
fn into_dyn(self) -> Nodes<'static, DynamicGraph, DynamicGraph, DynNodeFilter>
Source§impl<'graph, G, GH, F> IntoIterator for Nodes<'graph, G, GH, F>where
G: GraphViewOps<'graph> + 'graph,
GH: GraphViewOps<'graph> + 'graph,
F: NodeFilterOp + 'graph,
impl<'graph, G, GH, F> IntoIterator for Nodes<'graph, G, GH, F>where
G: GraphViewOps<'graph> + 'graph,
GH: GraphViewOps<'graph> + 'graph,
F: NodeFilterOp + 'graph,
Source§impl<'graph, G: GraphViewOps<'graph>, GH: GraphViewOps<'graph>, F: NodeFilterOp + Clone + 'graph, V: AsNodeRef + Hash + Eq, S: BuildHasher> PartialEq<HashSet<V, S>> for Nodes<'graph, G, GH, F>
impl<'graph, G: GraphViewOps<'graph>, GH: GraphViewOps<'graph>, F: NodeFilterOp + Clone + 'graph, V: AsNodeRef + Hash + Eq, S: BuildHasher> PartialEq<HashSet<V, S>> for Nodes<'graph, G, GH, F>
Source§impl<'graph, G: GraphViewOps<'graph>, GH: GraphViewOps<'graph>, F: NodeFilterOp + Clone + 'graph, V: AsNodeRef> PartialEq<Vec<V>> for Nodes<'graph, G, GH, F>
impl<'graph, G: GraphViewOps<'graph>, GH: GraphViewOps<'graph>, F: NodeFilterOp + Clone + 'graph, V: AsNodeRef> PartialEq<Vec<V>> for Nodes<'graph, G, GH, F>
Source§impl<'graph, G: GraphViewOps<'graph>, GH: GraphViewOps<'graph>, F: NodeFilterOp + Clone + 'graph> PartialEq for Nodes<'graph, G, GH, F>
impl<'graph, G: GraphViewOps<'graph>, GH: GraphViewOps<'graph>, F: NodeFilterOp + Clone + 'graph> PartialEq for Nodes<'graph, G, GH, F>
Auto Trait Implementations§
impl<'graph, G, GH, F> Freeze for Nodes<'graph, G, GH, F>
impl<'graph, G, GH, F> RefUnwindSafe for Nodes<'graph, G, GH, F>
impl<'graph, G, GH, F> Send for Nodes<'graph, G, GH, F>
impl<'graph, G, GH, F> Sync for Nodes<'graph, G, GH, F>
impl<'graph, G, GH, F> Unpin for Nodes<'graph, G, GH, F>
impl<'graph, G, GH, F> UnsafeUnpin for Nodes<'graph, G, GH, F>
impl<'graph, G, GH, F> UnwindSafe for Nodes<'graph, G, GH, F>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'graph, T> Filter<'graph> for Twhere
T: InternalFilter<'graph>,
impl<'graph, T> Filter<'graph> for Twhere
T: InternalFilter<'graph>,
fn filter<F: CreateFilter>( &self, filter: F, ) -> Result<Self::Filtered<F::EntityFiltered<'graph, F::FilteredGraph<'graph, Self::Graph>>>, GraphError>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoDynHop for T
impl<T> IntoDynHop for T
fn into_dyn_hop(self) -> <T as InternalFilter<'static>>::Filtered<DynamicGraph>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<'graph, V> LayerOps<'graph> for Vwhere
V: InternalFilter<'graph> + 'graph,
impl<'graph, V> LayerOps<'graph> for Vwhere
V: InternalFilter<'graph> + 'graph,
type LayeredViewType = <V as InternalFilter<'graph>>::Filtered<LayeredGraph<<V as InternalFilter<'graph>>::Graph>>
Source§fn default_layer(&self) -> <V as LayerOps<'graph>>::LayeredViewType
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>
fn layers<L>( &self, layers: L, ) -> Result<<V as LayerOps<'graph>>::LayeredViewType, GraphError>
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>
fn exclude_layers<L>( &self, layers: L, ) -> Result<<V as LayerOps<'graph>>::LayeredViewType, GraphError>
Return a graph containing the excluded layers in
names. Errors if one or more of the layers do not exists.fn exclude_valid_layers<L>( &self, layers: L, ) -> <V as LayerOps<'graph>>::LayeredViewType
Source§fn has_layer<L>(&self, name: L) -> boolwhere
L: SingleLayer,
fn has_layer<L>(&self, name: L) -> boolwhere
L: SingleLayer,
Check if
name is a valid layer nameSource§fn valid_layers<L>(&self, names: L) -> <V as LayerOps<'graph>>::LayeredViewType
fn valid_layers<L>(&self, names: L) -> <V as LayerOps<'graph>>::LayeredViewType
Return a graph containing the layers in
names. Any layers that do not exist are ignored.Source§fn num_layers(&self) -> usize
fn num_layers(&self) -> usize
Returns the number of layers
Source§impl<'graph, T> NodeSelect<'graph> for Twhere
T: InternalNodeSelect<'graph>,
impl<'graph, T> NodeSelect<'graph> for Twhere
T: InternalNodeSelect<'graph>,
fn select<F: CreateFilter>( &self, filter: F, ) -> Result<Self::IterFiltered<F::NodeFilter<'graph, F::FilteredGraph<'graph, Self::IterGraph>>>, GraphError>
Source§impl<'graph, V> NodeViewOps<'graph> for Vwhere
V: BaseNodeViewOps<'graph> + 'graph,
impl<'graph, V> NodeViewOps<'graph> for Vwhere
V: BaseNodeViewOps<'graph> + 'graph,
Source§fn is_active(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<ArrowMap<Map<HistoryOp<'graph, <V as NodeViewOps<'graph>>::Graph>, bool>, IsActiveRow>>
fn is_active( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<ArrowMap<Map<HistoryOp<'graph, <V as NodeViewOps<'graph>>::Graph>, bool>, IsActiveRow>>
Returns true if the node has any updates within the current window, otherwise false.
type Graph = <V as BaseNodeViewOps<'graph>>::Graph
type ValueType<T: ArrowNodeOp + 'graph> = <V as BaseNodeViewOps<'graph>>::ValueType<T> where <T as NodeOp>::Output: 'graph
type PathType = <V as BaseNodeViewOps<'graph>>::PathType
type Edges = <V as BaseNodeViewOps<'graph>>::Edges
Source§fn name(&self) -> <V as NodeViewOps<'graph>>::ValueType<Name>
fn name(&self) -> <V as NodeViewOps<'graph>>::ValueType<Name>
Get the name of this node if a user has set one otherwise it returns the ID. Read more
fn node_type_id(&self) -> <V as NodeViewOps<'graph>>::ValueType<TypeId>
Source§fn earliest_time(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<EarliestTime<<V as NodeViewOps<'graph>>::Graph>>
fn earliest_time( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<EarliestTime<<V as NodeViewOps<'graph>>::Graph>>
Get the time entry for the earliest activity of the node
Source§fn latest_time(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<LatestTime<<V as NodeViewOps<'graph>>::Graph>>
fn latest_time( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<LatestTime<<V as NodeViewOps<'graph>>::Graph>>
Get the time entry for the latest activity of the node
Source§fn history(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<HistoryOp<'graph, <V as NodeViewOps<'graph>>::Graph>>
fn history( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<HistoryOp<'graph, <V as NodeViewOps<'graph>>::Graph>>
Gets the history of the node (time that the node was added and times when changes were made to the node)
Source§fn edge_history_count(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<EdgeHistoryCount<<V as NodeViewOps<'graph>>::Graph>>
fn edge_history_count( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<EdgeHistoryCount<<V as NodeViewOps<'graph>>::Graph>>
Gets a count of edge history events.
Source§fn properties(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<GetProperties<'graph, <V as NodeViewOps<'graph>>::Graph>>
fn properties( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<GetProperties<'graph, <V as NodeViewOps<'graph>>::Graph>>
Get a view of the temporal properties of this node. Read more
Source§fn metadata(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<GetMetadata<'graph, <V as NodeViewOps<'graph>>::Graph>>
fn metadata( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<GetMetadata<'graph, <V as NodeViewOps<'graph>>::Graph>>
Get a view of the metadata of this node.
Source§fn degree(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<Degree<<V as NodeViewOps<'graph>>::Graph>>
fn degree( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<Degree<<V as NodeViewOps<'graph>>::Graph>>
Get the degree of this node (i.e., the number of edges that are incident to it). Read more
Source§fn in_degree(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<Degree<<V as NodeViewOps<'graph>>::Graph>>
fn in_degree( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<Degree<<V as NodeViewOps<'graph>>::Graph>>
Get the in-degree of this node (i.e., the number of edges that point into it). Read more
Source§fn out_degree(
&self,
) -> <V as NodeViewOps<'graph>>::ValueType<Degree<<V as NodeViewOps<'graph>>::Graph>>
fn out_degree( &self, ) -> <V as NodeViewOps<'graph>>::ValueType<Degree<<V as NodeViewOps<'graph>>::Graph>>
Get the out-degree of this node (i.e., the number of edges that point out of it). Read more
Source§fn edges(&self) -> <V as NodeViewOps<'graph>>::Edges
fn edges(&self) -> <V as NodeViewOps<'graph>>::Edges
Get the edges that are incident to this node. Read more
Source§fn in_edges(&self) -> <V as NodeViewOps<'graph>>::Edges
fn in_edges(&self) -> <V as NodeViewOps<'graph>>::Edges
Get the edges that point into this node. Read more
Source§fn out_edges(&self) -> <V as NodeViewOps<'graph>>::Edges
fn out_edges(&self) -> <V as NodeViewOps<'graph>>::Edges
Get the edges that point out of this node. Read more
Source§fn neighbours(&self) -> <V as NodeViewOps<'graph>>::PathType
fn neighbours(&self) -> <V as NodeViewOps<'graph>>::PathType
Get the neighbours of this node. Read more
Source§fn in_neighbours(&self) -> <V as NodeViewOps<'graph>>::PathType
fn in_neighbours(&self) -> <V as NodeViewOps<'graph>>::PathType
Get the neighbours of this node that point into this node. Read more
Source§fn out_neighbours(&self) -> <V as NodeViewOps<'graph>>::PathType
fn out_neighbours(&self) -> <V as NodeViewOps<'graph>>::PathType
Get the neighbours of this node that point out of this node. Read more
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<'graph, V> TimeOps<'graph> for Vwhere
V: InternalFilter<'graph> + 'graph + InternalTimeOps<'graph>,
impl<'graph, V> TimeOps<'graph> for Vwhere
V: InternalFilter<'graph> + 'graph + InternalTimeOps<'graph>,
type WindowedViewType = <V as InternalTimeOps<'graph>>::InternalWindowedView
Source§fn start(&self) -> Option<EventTime>
fn start(&self) -> Option<EventTime>
Return the time entry of the start of the view or None if the view start is unbounded.
Source§fn end(&self) -> Option<EventTime>
fn end(&self) -> Option<EventTime>
Return the time entry of the view or None if the view end is unbounded.
Source§fn shrink_start<T>(&self, start: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
fn shrink_start<T>(&self, start: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
set the start of the window to the larger of
start and self.start()Source§fn shrink_end<T>(&self, end: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
fn shrink_end<T>(&self, end: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
set the end of the window to the smaller of
end and self.end()Source§fn shrink_window<T>(
&self,
start: T,
end: T,
) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
fn shrink_window<T>(
&self,
start: T,
end: T,
) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
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>
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, T2>(
&self,
start: T1,
end: T2,
) -> <V as TimeOps<'graph>>::WindowedViewType
fn window<T1, T2>( &self, start: T1, end: T2, ) -> <V as TimeOps<'graph>>::WindowedViewType
Create a view including all events between
start (inclusive) and end (exclusive)Source§fn at<T>(&self, time: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
fn at<T>(&self, time: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
Create a view that only includes events at
timeSource§fn latest(&self) -> <V as TimeOps<'graph>>::WindowedViewType
fn latest(&self) -> <V as TimeOps<'graph>>::WindowedViewType
Create a view that only includes events at the latest time
Source§fn snapshot_at<T>(&self, time: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
fn snapshot_at<T>(&self, time: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
Create a view including all events that have not been explicitly deleted at
time Read moreSource§fn snapshot_latest(&self) -> <V as TimeOps<'graph>>::WindowedViewType
fn snapshot_latest(&self) -> <V as TimeOps<'graph>>::WindowedViewType
Create a view including all events that have not been explicitly deleted at the latest time Read more
Source§fn after<T>(&self, start: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
fn after<T>(&self, start: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
Create a view that only includes events after
start (exclusive)Source§fn before<T>(&self, end: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
fn before<T>(&self, end: T) -> <V as TimeOps<'graph>>::WindowedViewTypewhere
T: IntoTime,
Create a view that only includes events before
end (exclusive)Source§fn expanding<I>(&self, step: I) -> Result<WindowSet<'graph, V>, ParseTimeError>
fn expanding<I>(&self, step: I) -> Result<WindowSet<'graph, V>, 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 moreSource§fn expanding_aligned<I>(
&self,
step: I,
alignment_unit: AlignmentUnit,
) -> Result<WindowSet<'graph, V>, ParseTimeError>
fn expanding_aligned<I>( &self, step: I, alignment_unit: AlignmentUnit, ) -> Result<WindowSet<'graph, V>, ParseTimeError>
Creates a
WindowSet with the given step size using an expanding window, where the windows are aligned
with the alignment_unit passed. The last window may fall partially outside the range of the data/view. Read moreSource§fn rolling<I>(
&self,
window: I,
step: Option<I>,
) -> Result<WindowSet<'graph, V>, ParseTimeError>
fn rolling<I>( &self, window: I, step: Option<I>, ) -> Result<WindowSet<'graph, V>, 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.
Note that passing a step larger than window can lead to some entries appearing before
the start of the first window and/or after the end of the last window (i.e. not included in any window) Read moreSource§fn rolling_aligned<I>(
&self,
window: I,
step: Option<I>,
alignment_unit: AlignmentUnit,
) -> Result<WindowSet<'graph, V>, ParseTimeError>
fn rolling_aligned<I>( &self, window: I, step: Option<I>, alignment_unit: AlignmentUnit, ) -> Result<WindowSet<'graph, V>, ParseTimeError>
Creates a
WindowSet with the given window size and optional step using a rolling window, where the windows
are aligned with the alignment_unit passed. The last window may fall partially outside the range of the data/view.
Note that, depending on the alignment_unit, passing a step larger than window can lead to some entries
appearing before the start of the first window and/or after the end of the last window (i.e. not included in any window) Read more