pub struct DuckGraphStore { /* private fields */ }Implementations§
Trait Implementations§
Source§impl GraphStore for DuckGraphStore
impl GraphStore for DuckGraphStore
Source§fn insert_edge<'life0, 'life1, 'async_trait>(
&'life0 self,
edge: &'life1 TemporalEdge,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_edge<'life0, 'life1, 'async_trait>(
&'life0 self,
edge: &'life1 TemporalEdge,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Persist
edge (or upsert if edge.id already exists).Source§fn close_edge<'life0, 'async_trait>(
&'life0 self,
edge_id: Uuid,
closed_at: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close_edge<'life0, 'async_trait>(
&'life0 self,
edge_id: Uuid,
closed_at: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Close the validity window of
edge_id at closed_at — i.e.
“as of this moment we no longer believe the relation is true”.
Idempotent: closing an already-closed edge no-ops.Source§fn outgoing_at<'life0, 'async_trait>(
&'life0 self,
node: Uuid,
as_of: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = Result<Vec<TemporalEdge>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn outgoing_at<'life0, 'async_trait>(
&'life0 self,
node: Uuid,
as_of: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = Result<Vec<TemporalEdge>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn all_edges<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<TemporalEdge>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn all_edges<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<TemporalEdge>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Every edge in the store — for tests and admin tooling. Not
suitable for hot-path retrieval; production walkers should
stick to [
outgoing_at].Auto Trait Implementations§
impl Freeze for DuckGraphStore
impl !RefUnwindSafe for DuckGraphStore
impl Send for DuckGraphStore
impl Sync for DuckGraphStore
impl Unpin for DuckGraphStore
impl UnsafeUnpin for DuckGraphStore
impl !UnwindSafe for DuckGraphStore
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