class SPARQL::Algebra::Operator::Exprlist
The SPARQL
GraphPattern `exprlist` operator.
Used for filters with more than one expression.
@example
(prefix ((: <http://example/>)) (project (?v ?w) (filter (exprlist (= ?v 2) (= ?w 3)) (bgp (triple ?s :p ?v) (triple ?s :q ?w) ))))
Constants
- NAME
Public Instance Methods
evaluate(bindings, **options)
click to toggle source
Returns `true` if all operands evaluate to `true`.
Note that this operator operates on the effective boolean value (EBV) of its operands.
@example
(exprlist (= 1 1) (!= 1 0))
@param [RDF::Query::Solution] bindings
a query solution containing zero or more variable bindings
@param [Hash{Symbol => Object}] options ({})
options passed from query
@return [RDF::Literal::Boolean] `true` or `false` @raise [TypeError] if the operands could not be coerced to a boolean literal
# File lib/sparql/algebra/operator/exprlist.rb, line 39 def evaluate(bindings, **options) res = operands.all? {|op| boolean(op.evaluate(bindings, depth: options[:depth].to_i + 1, **options)).true? } RDF::Literal(res) # FIXME: error handling end