pub struct SchemaGraphProvider { /* private fields */ }Expand description
Synthetic graph computed live from a SchemaSource. Cheap to construct;
each call snapshots the catalog (the server already caches schema reads).
Implementations§
Source§impl SchemaGraphProvider
impl SchemaGraphProvider
pub fn new(source: Arc<dyn SchemaSource>) -> Self
Trait Implementations§
Source§impl GraphProvider for SchemaGraphProvider
impl GraphProvider for SchemaGraphProvider
Source§fn overview<'life0, 'life1, 'async_trait>(
&'life0 self,
realm: Option<&'life1 str>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<GraphPayload>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn overview<'life0, 'life1, 'async_trait>(
&'life0 self,
realm: Option<&'life1 str>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<GraphPayload>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Capped sample of the whole graph: stats + nodes + edges.
Source§fn node<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<GraphNode>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn node<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<GraphNode>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
A single node by id, or
None if absent.Source§fn neighbors<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
dir: Direction,
_only_internal: bool,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<EdgeExpansion>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn neighbors<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
dir: Direction,
_only_internal: bool,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<EdgeExpansion>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Edges touching
ids (respecting dir), plus the node ids newly reached.Source§fn subgraph<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
depth: usize,
) -> Pin<Box<dyn Future<Output = Result<GraphPayload>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn subgraph<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
depth: usize,
) -> Pin<Box<dyn Future<Output = Result<GraphPayload>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
BFS from
id up to depth hops (both directions); returns the subgraph.Source§fn search<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
text: &'life1 str,
labels: &'life2 [String],
realm: Option<&'life3 str>,
limit: usize,
offset: usize,
) -> Pin<Box<dyn Future<Output = Result<SearchHits>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn search<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
text: &'life1 str,
labels: &'life2 [String],
realm: Option<&'life3 str>,
limit: usize,
offset: usize,
) -> Pin<Box<dyn Future<Output = Result<SearchHits>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Nodes whose name matches
text (case-insensitive), optionally filtered
by labels / realm.Source§fn stats<'life0, 'life1, 'async_trait>(
&'life0 self,
realm: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<GraphStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stats<'life0, 'life1, 'async_trait>(
&'life0 self,
realm: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<GraphStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Node and relationship counts, optionally scoped to a single realm.
Auto Trait Implementations§
impl !RefUnwindSafe for SchemaGraphProvider
impl !UnwindSafe for SchemaGraphProvider
impl Freeze for SchemaGraphProvider
impl Send for SchemaGraphProvider
impl Sync for SchemaGraphProvider
impl Unpin for SchemaGraphProvider
impl UnsafeUnpin for SchemaGraphProvider
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