pub struct TemporalGraphData {
pub current_graph: GraphData,
pub events: BTreeMap<u64, Vec<TemporalEvent>>,
pub node_features_history: HashMap<usize, BTreeMap<u64, Tensor>>,
pub edge_features_history: HashMap<(usize, usize), BTreeMap<u64, Tensor>>,
pub current_time: f64,
pub time_window: f64,
pub max_events: usize,
}Expand description
Temporal graph data structure for continuous-time dynamic graphs
Fields§
§current_graph: GraphDataStatic graph structure at current time
events: BTreeMap<u64, Vec<TemporalEvent>>Sequence of temporal events ordered by time
node_features_history: HashMap<usize, BTreeMap<u64, Tensor>>Time-indexed node features
edge_features_history: HashMap<(usize, usize), BTreeMap<u64, Tensor>>Time-indexed edge features
current_time: f64Current timestamp
time_window: f64Time window for temporal aggregation
max_events: usizeMaximum number of events to keep in memory
Implementations§
Source§impl TemporalGraphData
impl TemporalGraphData
Sourcepub fn new(
initial_graph: GraphData,
time_window: f64,
max_events: usize,
) -> Self
pub fn new( initial_graph: GraphData, time_window: f64, max_events: usize, ) -> Self
Create a new temporal graph
Sourcepub fn add_event(&mut self, event: TemporalEvent) -> Result<(), TorshError>
pub fn add_event(&mut self, event: TemporalEvent) -> Result<(), TorshError>
Add a temporal event to the graph
§Errors
Returns an error when the event’s feature tensor cannot be written into the current graph.
Sourcepub fn get_events_in_range(
&self,
start_time: f64,
end_time: f64,
) -> Vec<&TemporalEvent>
pub fn get_events_in_range( &self, start_time: f64, end_time: f64, ) -> Vec<&TemporalEvent>
Get events within a specific time range
Sourcepub fn get_node_features_at_time(
&self,
node_id: usize,
time: f64,
) -> Option<Tensor>
pub fn get_node_features_at_time( &self, node_id: usize, time: f64, ) -> Option<Tensor>
Get node features at a specific time (with interpolation)
Sourcepub fn snapshot_at_time(&self, _time: f64) -> GraphData
pub fn snapshot_at_time(&self, _time: f64) -> GraphData
Create a snapshot of the graph at a specific time
Trait Implementations§
Source§impl Clone for TemporalGraphData
impl Clone for TemporalGraphData
Source§fn clone(&self) -> TemporalGraphData
fn clone(&self) -> TemporalGraphData
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !Freeze for TemporalGraphData
impl RefUnwindSafe for TemporalGraphData
impl Send for TemporalGraphData
impl Sync for TemporalGraphData
impl Unpin for TemporalGraphData
impl UnsafeUnpin for TemporalGraphData
impl UnwindSafe for TemporalGraphData
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more