Re: SPARQL Evaluation Model

Hello Tim,
the reference document is the W3C recommendation [1].
The semantics of SPARQL are formally defined in two steps: first
transforming a textual SPARQL query to a "SPARQL algebra expression", then
applying the operational semantics defined on the SPARQL algebra.
From the transformation step (specifically the part in [2]) comes the fact,
often surprising to newcomers, that the order in which clauses are used in
a query is indeed important and that some operators are applied
incrementally on the pattern defined "above" them.

Cheers,
Miguel

[1] https://www.w3.org/TR/sparql11-query/
[2] https://www.w3.org/TR/sparql11-query/#sparqlTranslateGraphPatterns

On Mon, Mar 27, 2023 at 1:51 PM Tim McIver <tim@timmciver.com> wrote:

> Hello,
>
> Where can I find information about SPARQL's evaluation model?  I've read
> most of "Learning SPARQL" but I've encountered several surprising results
> from queries that I've written from what I've learned there.  One of these
> surprises prompted this question
> <https://lists.w3.org/Archives/Public/public-sparql-dev/2023JanMar/0011.html>
> on this mailing list which made me realize that I actually don't understand
> SPARQL's evaluation model at all and I can't seem to find anything written
> about it.  I don't believe "Learning SPARQL" discussed the effect that, for
> example, moving a BIND call would have on the results (if I'm mistaken,
> please let me know where the book discusses this).
>
> Thanks,
> Tim
>

Received on Monday, 27 March 2023 12:46:26 UTC