pub struct MemoryEdge {
pub source: MemoryId,
pub target: MemoryId,
pub edge_type: EdgeType,
pub weight: f32,
pub created_at: Timestamp,
pub valid_from: Option<Timestamp>,
pub valid_until: Option<Timestamp>,
}Expand description
A directed, typed, weighted edge between two memory nodes.
Fields§
§source: MemoryIdSource memory ID.
target: MemoryIdTarget memory ID.
edge_type: EdgeTypeRelationship type.
weight: f32Strength of the relationship (0.0 to 1.0).
created_at: TimestampWhen this edge was created.
valid_from: Option<Timestamp>When this relationship became valid in the real world. None means valid since creation.
valid_until: Option<Timestamp>When this relationship stopped being valid. None means still valid.
Implementations§
Source§impl MemoryEdge
impl MemoryEdge
Sourcepub fn is_valid_at(&self, at: Timestamp) -> bool
pub fn is_valid_at(&self, at: Timestamp) -> bool
Returns true if this edge is temporally valid at the given timestamp. An edge with no validity bounds is always valid.
Sourcepub fn invalidate(&mut self, at: Timestamp)
pub fn invalidate(&mut self, at: Timestamp)
Mark this edge as no longer valid, setting valid_until to the given timestamp.
Sourcepub fn is_invalidated(&self) -> bool
pub fn is_invalidated(&self) -> bool
Returns true if this edge has been invalidated.
Trait Implementations§
Source§impl Clone for MemoryEdge
impl Clone for MemoryEdge
Source§fn clone(&self) -> MemoryEdge
fn clone(&self) -> MemoryEdge
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MemoryEdge
impl Debug for MemoryEdge
Source§impl<'de> Deserialize<'de> for MemoryEdge
impl<'de> Deserialize<'de> for MemoryEdge
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for MemoryEdge
impl RefUnwindSafe for MemoryEdge
impl Send for MemoryEdge
impl Sync for MemoryEdge
impl Unpin for MemoryEdge
impl UnsafeUnpin for MemoryEdge
impl UnwindSafe for MemoryEdge
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