-
Notifications
You must be signed in to change notification settings - Fork 2
simple exists changes #211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Suppose we actually wanted minimal change in the exposition of NOT EXISTS and EXISTS in section 17.4.1.4. My suggestion would be to not change that section at all. That section is incorrect with the current definition of EXISTS because EXISTS does deep textual substitution. The proposal to do deep value injection requires changes to the exposition because the deep value injection modifies how the entire pattern is evaluated, including in subqueries. Shallow value injection actually does what the exposition says - it evaluates the pattern just like any other pattern except that the the current solution mapping is used to provide values for variables in the pattern, just as the exposition says. |
. |
@@ -3598,7 +3604,8 @@ <h3><a name="sparqlAlgebraEval" id="sparqlAlgebraEval"></a>18.6 Evaluation Seman | |||
<p>substitute(<i>pattern</i>, μ) = the pattern formed by replacing every | |||
occurrence of a variable v in <i>pattern</i> by μ(v) for each v in dom(μ)</p> | |||
</blockquote></div><div class="defn"><p><b>Definition: <a name="defn_evalExists" id="defn_evalExists">Evaluation of Exists</a></b></p><p>Let μ be the current solution mapping for a filter and P a graph pattern:</p><blockquote> | |||
The value exists(P), given D(G) is true if and only if eval(D(G), substitute(P, μ)) is a non-empty sequence. | |||
The value exists(P), given D(G) is true if and only if eval(D(G), substitute(P, μ)) is a non-empty sequence. | |||
In the evaluation, blank node do not contribute to RDF instance mapping of statement patterns, but instead act as contants to contrain the match. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the evaluation, blank node do not contribute to RDF instance mapping of statement patterns, but instead act as contants to contrain the match. | |
In the evaluation, blank nodes do not contribute to RDF instance mapping of statement patterns, but instead act as constants to constrain the match. |
The directory Changing this document will have no effect; it will break the provenance chain. The current working document for SPARQL 1.2 is I've changed this PR to "draft" to avoid accidental merging. |
i misunderstood. the purpose was just to introduce the idea, rather than to ever merge it. |
As far as I can tell, this PR doesn't fix EXISTS, as it still changes BIND and VALUES variables. |
What do you mean by "this"? |
This PR. I edited my comment to reflect this as well. |
these are the minimal changes to suggest to an implementor that exists' interpretation should be analogous to the nested loop approach to bgp interpretation.
HTML section 17.4.1.4
HTML Definition: Evaluation of Exists