Class: SPARQL::Algebra::Operator::Exists
- Inherits:
-
Unary
- Object
- SPARQL::Algebra::Operator
- Unary
- SPARQL::Algebra::Operator::Exists
- Includes:
- Evaluatable
- Defined in:
- vendor/bundler/ruby/3.0.0/bundler/gems/sparql-ffa592c8f275/lib/sparql/algebra/operator/exists.rb
Overview
The SPARQL logical exists
operator.
There is a filter operator EXISTS that takes a graph pattern. EXISTS returns true
/false
depending on whether the pattern matches the dataset given the bindings in the current group graph pattern, the dataset and the active graph at this point in the query evaluation. No additional binding of variables occurs. The NOT EXISTS
form translates into fn:not(EXISTS{...})
.
Constant Summary collapse
- NAME =
[:exists]
Constants inherited from Unary
Constants inherited from SPARQL::Algebra::Operator
Instance Attribute Summary
Attributes inherited from SPARQL::Algebra::Operator
Instance Method Summary collapse
-
#evaluate(bindings, **options) ⇒ RDF::Literal::Boolean
Exvaluating this operator executes the query in the first operator passing in each existing bindings.
Methods included from Evaluatable
#apply, #memoize, #replace_aggregate!, #replace_vars!
Methods inherited from Unary
Methods inherited from SPARQL::Algebra::Operator
#aggregate?, arity, base_uri, #base_uri, base_uri=, #bind, #boolean, #constant?, #deep_dup, #each_descendant, #eql?, #evaluatable?, evaluate, #executable?, #first_ancestor, for, #formulae, #initialize, #inspect, #ndvars, #node?, #operand, #optimize, #optimize!, #parent, #parent=, #prefixes, prefixes, prefixes=, #rewrite, #to_binary, #to_sxp, #to_sxp_bin, #validate!, #variable?, #vars
Methods included from Expression
cast, #constant?, extension, extensions, for, #invalid?, new, #node?, open, #optimize, #optimize!, parse, register_extension, #to_sxp_bin, #valid?, #validate!, #variable?
Constructor Details
This class inherits a constructor from SPARQL::Algebra::Operator::Unary
Instance Method Details
#evaluate(bindings, **options) ⇒ RDF::Literal::Boolean
Exvaluating this operator executes the query in the first operator passing in each existing bindings.
29 30 31 32 33 34 |
# File 'vendor/bundler/ruby/3.0.0/bundler/gems/sparql-ffa592c8f275/lib/sparql/algebra/operator/exists.rb', line 29 def evaluate(bindings, **) queryable = [:queryable] !operand(0).execute(queryable, solutions: RDF::Query::Solutions(bindings), depth: [:depth].to_i + 1, **).empty? end |