W3C

– DRAFT –
SPARQL Task Force of RDF 1.2 WG

02 May 2025

Attendees

Present
AndyS, gb, gtw, james, joka921, olaf, Souri, TallTed, Tpt
Regrets
-
Chair
AndyS
Scribe
olaf

Meeting minutes

<gtw> I don't seem to have the invite for the SPARQL call. I thought it was right now, but hoping somebody could confirm and send me the zoom link.

AndyS: first item is introductions

joka921: I am Johannes
… PhD student in Freiburg
… working on QLever
… we also founded a company
… We are interested in becoming standard conform
… In this context, EXIST is a rabbit hole

<AndyS> w3c/sparql-query#156

<gb> #156

AndyS: Three things from the GitHub issue ..
… pfps put an example query
… which behaves differently for the different proposals
… I added this into the test suite
… in a repo

<AndyS> Test from the issue: afs/SPARQL-exists

AndyS: Has everyone seen pfps query?
… It has a subquery with just a FILTER inside

<AndyS> BIND ( ex:a as ?v ) ... EXISTS { SELECT ?v WHERE { FILTER (?v = ex:a) } }

AndyS: I created also variations of this one for the test suite
… including a version with SELECT * .., and a version with NOT EXISTS

james: I recall that pfps had a complete set of queries many years ago

AndyS: That's also in the test suite
… in a separate directory because some of these queries are illegal
… There are three directories in the test repo that I created
… So, all the test that I know about are there.

<AndyS> https://github.com/w3c/sparql-dev/blob/main/SEP/SEP-0007/sep-0007.md#identified-issues

AndyS: The five issues that pfps identified have been copied on a wiki

Tpt: Thanks for that!
… What are the next steps?
… Results for these tests from different implementation?

AndyS: Knowing what implementation do would be good.
… But pfps' analysis have shown that there are differences.
… Yet, some of these things may also simply be bugs.
… Next steps are to understand what the problem space is.
… We have the issues identified by pfps
… and we have external comments from Pavel (Stardog) and from Johannes & Hannah (QLever)
… Also, more tests would be good!
… Latest version of Jena also has Antijoin and .. (?)
… Semijoin
… Does it seems right as a general direction for the TF?
… Does it seems right as a general direction for the TF?

james: I would like to clarify the procedure.
… What priorities do you want for the three different directories?

AndyS: My first objective with the repo was to collect tests, not to prioritize them.
… The WG tests in sparql 1.2 are very simple
… not related to pfps' issues

james: First establish values htat people have for FILTER EXIST

AndyS: pfps' queries touch on subqueries

james: back to my question, if we want to establish behavior, which tests?

AndyS: Is the list (of test queries?) covering the most important things we want to focus on?

james: I will proceed and see if I am going in the right direction.
… To my PR, it is a very simple change to the spec document, as you have asked me for last week.
… it covers what we do since a decade.

<AndyS> james PR -- w3c/sparql-query#211

<gb> #211

james: I maintain that this is a sufficient approach.
… Our results agree with pfps' results from couple of years ago.
… This method effectively implements dynamic bindings.
… Nothing in the literature about evaluation strategies for BGPs that uses nested loops and has the issue with blank nodes.
… I intend to pfps' recent comments.

AndyS: Is that covered by the current issues list?

james: no

AndyS: I have some questions about how this deals with illegal queries, will discuss on the GH issue.

james: there are two issues (to be separated) - 2/ substitution
… 1/ dynamic bindings
… We propose to do the substitution in the value domain and not in the lexical domain.
… And this is not just a proposal but an existing implementation.

<AndyS> External comments 1 : w3c/sparql-query#156 (comment)

<gb> Issue 156 Addressing SPARQL EXISTS errata (by afs) [ErratumRaised]

<AndyS> External comments 2 : w3c/sparql-query#156 (comment)

<AndyS> https://github.com/w3c/sparql-dev/blob/main/SEP/SEP-0007/sep-0007.md#issue-3-blank-nodes-substituted-into-bgps-act-as-variables

james: Yes, that's the issue it addresses.

AndyS: We have two external comments ..
… one from Pavel Klinov (Stardog). Please take the time to read his comment.

<AndyS> s!External comments 1 : w3c/sparql-query#156 (comment) comments 1 : w3c/sparql-query#156 (comment)

<TallTed> s|s!External comments 1 : w3c/sparql-query#156 (comment) comments 1 : w3c/sparql-query#156 (comment)||

<AndyS> w3c/sparql-query#156 (comment)

<gb> Issue 156 Addressing SPARQL EXISTS errata (by afs) [ErratumRaised]

AndyS: The other external comment is from Hannah & joka921

joka921: What Hannah wrote is from the perspective: If you look at the SPARQL spec as is, there is a coherent set of things and then there is one thing that is different, namely EXISTS
… If it does something completely different, then it has to be properly specified and it has to be consistent with a limited set of rules.
… It should be a solution that handles all the cases with as few special rules as possible.
… Hannah also raises that FILTER NOT EXISTS becomes MINUS, which we already have

AndyS: Can you say something about point 7 (important features missing)
… It is out of scope of the WG to add more features, it is good to keep an eye on what features may be added in the future.

joka921: If half of the spec is duplicated just for this one feature, then that's a heavy debt.
… There are not too many strange points with the substitutions.
… i) blank nodes, ii) scope
… What happens in practice is that engines implement substitution semantics also for other things (e.g., union)

AndyS: Sometime (not today) I would like your reaction on the five issues.

james: The issue of scope is seen as an epe... (?) of looking at this from a broader perspective.
… This TF has been created as a means to investigate and address the EXIST issue, in addition to finishing the work on statement annotation.
… Therefore, this TF doesn't have to finish before the main WG finishes the specs.
… In other words, the TF may look into things that involve new features.
… And that may carry over into the maintanence phase

TallTed: "Bottom-up" doesn't make much sense, but "inside out"
… Communicating it in this way can be helpful.

<gtw> spec has one reference in "12. Subqueries": "Due to the bottom-up nature of SPARQL query evaluation..."

AndyS: I don't think the spec mentions this wording.

<james> lexical evaluation as the early definition is a revelation

AndyS: If there are bits of the text (in particular in the tutorial-style parts of the spec) which give this impression, it would be good to identify and change them.

james: "bottom-up" I found unambiguously in the implementation of the algebra
… worthwhile to carry this into the higher level sections of the spec

AndyS: Continuing steps on the issue are to get tests

james: I would like to hear what expectations are on topics for next week.
… For instance, as many tests as possible?

AndyS: In my experience, there are usually 1-2 tests that become the focus point of discussion.

james: okay, I will look at the tests with an eye to which of them is related to which of the five issues

Minutes manually created (not a transcript), formatted by scribe.perl version 244 (Thu Feb 27 01:23:09 2025 UTC).

Diagnostics

Succeeded: s|https://us02web.zoom.us/j/85197979904?pwd=Wk5adzJTS3Z3dnNhbkRYUWdUNVQ1dz09||

Succeeded: s|External comments 1 : https://github.com/w3c/sparql-query/issues/156#issuecomment-2824827421|External comments 1 : https://github.com/w3c/sparql-query/issues/156#issuecomment-2378520807|

Failed: s|s!External comments 1 : w3c/sparql-query#156 (comment) comments 1 : w3c/sparql-query#156 (comment)||

Succeeded: s/... We propose to do the substitution in the value domain and not in the lexical domain.//

Succeeded: s/We propose to do the substitution in the value domain and not in the lexical domain./... We propose to do the substitution in the value domain and not in the lexical domain./

Succeeded: s/will at/will look at

All speakers: AndyS, james, joka921, TallTed, Tpt

Active on IRC: AndyS, gtw, james, olaf, Souri, TallTed, Tpt