W3C

– DRAFT –
SPARQL TF of RDF & SPARQL WG

15 August 2025

Attendees

Present
AndyS, gtw, james, lisp, olaf, pfps, TallTed
Regrets
-
Chair
AndyS
Scribe
pfps

Meeting minutes

<lisp> ? are those previous/next links intentional or unavoidable?

Scribe?

AndyS: next time look at all SPARQL PRs (item 4)

James: previous meeting dates are strange

External comment

AndyS: that appears to be a feature of the WG - all WG-related meetings are linearly ordered

Andys: one solution is semi-join, one injects bindings

pfps: there is the other part of Boris's message about confusion between syntax and algebra

AndyS: olaf responded to that

pfps: when there is a new version we will respond to Boris

AndyS: sounds right

Outline for changes for PR.

AndyS: I did some work on the PR

AndyS: the flow is better, but there is more work to be done

AndyS: [description of some of the changes]

Olaf: I'm not sure whether it is necessary to make these changes

<olaf> https://gist.github.com/hartig/6118722a684496231597c6fe7f5ef8c8

Olaf: [the above link is my solution]

Olaf: [description of definitions in solution]

Olaf: [basic idea is to insert a values clause at the beginning of EXISTS pattern]

pfps: what about injecting a blank node

Olaf: yes, a problem

AndyS: when is the string created

Olaf: for each solution mapping in the simple version, but my advanced version uses a method where only one translation is needed

Olaf: here the current solution mapping is joined to the pattern

AndyS: filters in the EXISTS pattern don't have access to injected variables

AndyS: instead of modifying the pattern you can modify every BGP in the pattern

pfps: there are three options - like MINUS, like OPTIONAL, deep injection

AndyS: this is all semijoin, i.e., like MINUS

Olaf: what about subselects?

AndyS: look at UNION, with a FILTER in one side

AndyS: to get the solution mapping into there you need to inject (into BGPs)

AndyS: variables that are projected out in sub-SELECT are another issue

Andys: you can either affect them or not - one method is to rename them

james: the solution is a strict consraint on the scope of injection

james: andy's solution injects the solution mapping in more places

james: my concern about correlation (injection) is having to re-evaluate for every solution mapping

AndyS: the interior patterns are simple, usually

james: is it possible to have optimized execution even when correlation is needed

AndyS: so the idea is to pass all the rows at once, not just one at a time?

james: yes

AndyS: would this be exactly the same? maybe

olaf: I think it is not possible to define it this way because FILTER is per-solution mapping

AndyS: minus and other negation could be a problem

gtw: aggregation is also an issue

olaf: I'll look at the suggestions

Topic for next time

AndyS: would it be useful to more than just EXISTS, i.e., to look at other PRs

pfps: sounds reasonable

AndyS: there is other work that Olaf is pursuing

james: is there a list of PRs to look at?

AndyS: the ones on SPARQL Query

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

Diagnostics

Succeeded: s/mappiong/mapping/

Succeeded: s/gregg:/gtw:/

Succeeded: i|intentional or unavoidable|agenda: https://www.w3.org/events/meetings/bc9ea940-ea66-4e30-91be-cf7c51a81044/20250815T143000/

Succeeded: i|intentional or unavoidable|scribe: pfps

Succeeded: i|intentional or unavoidable|present+ james

Succeeded: s/agendum 1 -- Scribe? -- taken up [from agendabot]//

Succeeded: i|intentional or unavoidable|chair: AndyS

Succeeded: i|intentional or unavoidable|meeting: SPARQL TF of RDF & SPARQL WG

All speakers: AndyS, gtw, James, Olaf, pfps

Active on IRC: AndyS, gtw, lisp, olaf, pfps, TallTed