diff --git a/lib/src/sparql/eval.rs b/lib/src/sparql/eval.rs index effe7324..7b7bded8 100644 --- a/lib/src/sparql/eval.rs +++ b/lib/src/sparql/eval.rs @@ -191,6 +191,24 @@ impl SimpleEvaluator { _ => None, }, }, + PlanExpression::Equal(a, b) => { + Some((self.eval_expression(a, tuple)? == self.eval_expression(b, tuple)?).into()) + } + PlanExpression::NotEqual(a, b) => { + Some((self.eval_expression(a, tuple)? != self.eval_expression(b, tuple)?).into()) + } + PlanExpression::Greater(a, b) => { + Some((self.eval_expression(a, tuple)? > self.eval_expression(b, tuple)?).into()) + } + PlanExpression::GreaterOrEq(a, b) => { + Some((self.eval_expression(a, tuple)? >= self.eval_expression(b, tuple)?).into()) + } + PlanExpression::Lower(a, b) => { + Some((self.eval_expression(a, tuple)? < self.eval_expression(b, tuple)?).into()) + } + PlanExpression::LowerOrEq(a, b) => { + Some((self.eval_expression(a, tuple)? <= self.eval_expression(b, tuple)?).into()) + } PlanExpression::UnaryNot(e) => self .to_bool(self.eval_expression(e, tuple)?) .map(|v| (!v).into()),