diff --git a/spec/index.html b/spec/index.html index 272e758..9077f48 100644 --- a/spec/index.html +++ b/spec/index.html @@ -5688,30 +5688,45 @@
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{...}).
NOT EXISTS form
+ translates into fn:fn:not(EXISTS {...}).
xsd:boolean NOT EXISTS { pattern }-
Returns false if pattern matches. Returns true
+
Returns `false` if `pattern` matches. Returns `true` otherwise.
-Returns Returns `true` if `pattern` matches. Returns `false`
otherwise. Variables in the To facilitate this, we introduce a function Exists that
- evaluates a SPARQL Algebra expression and returns true or false, depending on whether
- there are any solutions to the pattern, given the solution mapping being tested by the
- filter operation. Formally, for every expression |expr|
+ that is of the form `EXISTS { pattern }`,
+ the result of evaluating |expr|
+ with respect to a solution mapping μ,
+ in the context of a dataset |D|
+ with active graph |G|,
+ is: where |A| is the algebraic query expression
+ obtained by translating `{ pattern }` as per .
+ As per the ExistsFunc production
+ of the grammar,
+ `{ pattern }` matches the GroupGraphPattern production.
+ The specific subsection of
+ that covers the translation of any GroupGraphPattern
+ is .NOT EXISTS { pattern } is equivalent to fn:not(EXISTS { pattern
+ NOT EXISTS { pattern } is equivalent to fn:not(EXISTS { pattern
}).
xsd:boolean EXISTS { pattern }
- true if pattern matches. Returns false
+ pattern that are bound in the current
- solution mapping take the value that they
- have from the solution mapping. Variables in the pattern pattern that are
- not bound in the current solution mapping take part in pattern matching.
+
+ logical-or
@@ -10670,6 +10685,11 @@ Evaluation Semantics
in correlation with solution mapping μctx.
The active graph is initially the default graph of |D| and μctx is initially the empty solution mapping μ0.
+The case in which μctx + may be different from μ0 + is when evaluating an expression + of the form `EXISTS pattern` or `NOT EXISTS pattern`, + as defined in .
Further symbols used in the following definitions are: