pub enum FExpr {
Show 14 variants
Var(String),
Const(String),
Arith(ArithOp, Box<FExpr>, Box<FExpr>),
Func(Builtin, Vec<FExpr>),
Coalesce(Vec<FExpr>),
If(Box<FExpr>, Box<FExpr>, Box<FExpr>),
In(Box<FExpr>, Vec<FExpr>),
SameTerm(Box<FExpr>, Box<FExpr>),
Compare(Op, Box<FExpr>, Box<FExpr>),
And(Box<FExpr>, Box<FExpr>),
Or(Box<FExpr>, Box<FExpr>),
Not(Box<FExpr>),
Bound(String),
Exists(Box<Plan>),
}Expand description
A small boolean/comparison expression for FILTER (a subset of SPARQL exprs).
Variants§
Var(String)
Const(String)
A constant term token (IRI/literal) or numeric literal’s text.
Arith(ArithOp, Box<FExpr>, Box<FExpr>)
Numeric arithmetic on two sub-expressions.
Func(Builtin, Vec<FExpr>)
A built-in function call.
Coalesce(Vec<FExpr>)
COALESCE(...) — first sub-expression that yields a value.
If(Box<FExpr>, Box<FExpr>, Box<FExpr>)
IF(cond, then, else) — evaluate cond as a boolean and pick a branch.
In(Box<FExpr>, Vec<FExpr>)
expr IN (a, b, …) — true if expr value-equals any list member.
SameTerm(Box<FExpr>, Box<FExpr>)
sameTerm(a, b) — strict term identity (no value coercion).
Compare(Op, Box<FExpr>, Box<FExpr>)
And(Box<FExpr>, Box<FExpr>)
Or(Box<FExpr>, Box<FExpr>)
Not(Box<FExpr>)
Bound(String)
Exists(Box<Plan>)
EXISTS { … } — true if the sub-pattern has a solution compatible with
the current binding. (NOT EXISTS is Not(Exists(..)).)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FExpr
impl RefUnwindSafe for FExpr
impl Send for FExpr
impl Sync for FExpr
impl Unpin for FExpr
impl UnsafeUnpin for FExpr
impl UnwindSafe for FExpr
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