pub enum Query<Id: IdType> {
NodeProps(HashSet<Id>),
SPO(HashSet<(Id, Id, Id)>),
O(HashSet<Id>),
S(HashSet<Id>),
P(HashSet<Id>),
PO(HashSet<(Id, Id)>),
SO(HashSet<(Id, Id)>),
SP(HashSet<(Id, Id)>),
}Expand description
Represents a query which can be executed on a [TripleStore][crate::TripleStore].
These are most easily created using teh query macro.
Variants§
NodeProps(HashSet<Id>)
Fetch the NodeProps for the given set of ids.
SPO(HashSet<(Id, Id, Id)>)
Fetch the edges for the given set of triples.
O(HashSet<Id>)
Fetch all edges which point to one of the given set of ids.
S(HashSet<Id>)
Fetch all edges which start at one of the given set of ids.
P(HashSet<Id>)
Fetch all edges which have one of the given set of edge ids.
PO(HashSet<(Id, Id)>)
Fetch all edges which have one of the given tuples as predicate and object.
SO(HashSet<(Id, Id)>)
Fetch all edges which have one of the given tuples as subject and object.
SP(HashSet<(Id, Id)>)
Fetch all edges which have one of the given tuples as subject and predicate.
Trait Implementations§
impl<Id: Eq + IdType> Eq for Query<Id>
impl<Id: IdType> StructuralPartialEq for Query<Id>
Auto Trait Implementations§
impl<Id> Freeze for Query<Id>
impl<Id> RefUnwindSafe for Query<Id>where
Id: RefUnwindSafe,
impl<Id> Send for Query<Id>where
Id: Send,
impl<Id> Sync for Query<Id>where
Id: Sync,
impl<Id> Unpin for Query<Id>where
Id: Unpin,
impl<Id> UnwindSafe for Query<Id>where
Id: UnwindSafe,
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<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