14:11:22 AndyS has joined #rdf-star 14:11:32 zakim, end meeting 14:11:32 As of this point the attendees have been lisp, TallTed, niklasl, AndyS, ora, pchampin, gtw, Souri, Enrico, olaf, pfps, Dominik_T, doerthe 14:11:32 RRSAgent, please draft minutes 14:11:33 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html Zakim 14:11:40 I am happy to have been of service, AndyS; please remember to excuse RRSAgent. Goodbye 14:11:40 Zakim has left #rdf-star 14:11:46 rrsagent, please leave 14:11:46 I see no action items 14:12:42 RRSAgent has joined #rdf-star 14:12:42 logging to https://www.w3.org/2025/09/05-rdf-star-irc 14:13:12 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html AndyS 14:13:39 previous meeting: https://www.w3.org/2025/09/05-rdf-star-irc 14:14:11 next meeting: https://www.w3.org/2025/09/11-rdf-star-irc 14:14:15 previous meeting: https://www.w3.org/2025/09/04-rdf-star-irc 14:14:21 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html AndyS 14:15:11 present 14:17:03 present- doerthe, Dominik_T, Enrico, gtw, lisp, niklasl, olaf, ora, pchampin, pfps, Souri, TallTed 14:17:10 present? 14:17:32 who is here? 14:17:48 zakim, present? 14:17:48 I don't understand your question, AndyS. 14:18:21 present+ 14:18:29 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html AndyS 14:19:05 previous meeting: https://www.w3.org/2025/09/05-rdf-star-minutes.html 14:19:53 zakim, this is SPARQL TF 14:19:53 got it, AndyS 14:20:01 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html AndyS 14:20:46 previous meeting: https://www.w3.org/2025/09/04-rdf-star-minutes.html 14:20:50 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html AndyS 14:22:35 agenda: https://www.w3.org/events/meetings/701ff4af-764e-4ced-9d5e-b06ca77e1015/20250905T143000/#agenda 14:22:36 clear agenda 14:22:36 agenda+ Scribe? 14:22:36 agenda+ Issues and PRs in progress 14:22:36 agenda+ SERVICE and EXISTS 14:22:36 agenda+ (if time) about SHACL node expressions 14:22:38 agenda+ next time 14:22:49 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html AndyS 14:23:33 zakim, start meeting 14:23:33 RRSAgent, make logs Public 14:23:35 please title this meeting ("meeting: ..."), AndyS 14:23:46 meeting: SPARQL TF 14:23:54 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html AndyS 14:29:51 pfps has joined #rdf-star 14:31:21 present+ 14:31:33 present+ 14:31:51 present? 14:32:10 zakim, who is here? 14:32:10 Present: AndyS, gtw, Tpt 14:32:12 On IRC I see pfps, RRSAgent, Zakim, AndyS, ktk, Tpt, csarven_, rhiaro, gb, gtw, agendabot, pchampin, m2gbot 14:32:17 lisp has joined #rdf-star 14:33:14 olaf has joined #rdf-star 14:33:36 agenda? 14:33:51 scribe+ 14:33:57 zakim, take up item 1 14:33:57 agendum 1 -- Scribe? -- taken up [from agendabot] 14:34:03 present+ 14:34:06 zakim, close item 1 14:34:06 agendum 1, Scribe?, closed 14:34:07 I see 4 items remaining on the agenda; the next one is 14:34:07 2. Issues and PRs in progress [from agendabot] 14:34:09 present+ 14:34:10 zakim, close item 2 14:34:10 agendum 2, Issues and PRs in progress, closed 14:34:11 I see 3 items remaining on the agenda; the next one is 14:34:11 3. SERVICE and EXISTS [from agendabot] 14:34:14 q+ 14:34:17 q+ 14:35:05 ack olaf 14:36:08 olaf: I did not had time to work on SPARQL the past few days 14:36:48 olaf: I made an effort to make a go case by case for every kind of pattern and discuss why this case to be covered or not 14:36:58 olaf: The one that is really problematic is the SERVICE one 14:37:14 olaf: The problem is specifically around bnode 14:37:30 olaf: The doc is in the repo 14:37:32 q+ 14:37:43 https://github.com/w3c/sparql-query/blob/main/discussion/Defining_the_DEEP_INJECTION_approach_for_EXISTS.md 14:37:53 q? 14:38:18 ack Tpt 14:38:59 please skip me until I fix that 14:39:02 ack lisp 14:39:31 scribe+ 14:39:47 lisp: didn't we say we also go through errata? 14:40:25 ... some of them seem easy to address, others I didn't understand what the problem is 14:40:34 ... how do we proceed? 14:40:39 https://github.com/w3c/sparql-query/issues?page=4 14:40:50 ... I have looked at the full errata list 14:41:05 AndyS: They need to be sorted out. We have done some already. 14:41:28 ... Do you think there are any that are particularly difficult? 14:41:53 lisp: I propose I will write a note to the WG mailing list 14:42:05 ... where I distinguish them into the three categories 14:42:42 ... cat1 purely editorial, cat2 actual changes, cat3 not even clear what the problem is 14:44:21 https://github.com/w3c/sparql-query/issues/21 14:44:22 https://github.com/w3c/sparql-query/issues/21 -> Issue 21 SPARQL Query Errata (2/5) (by afs) [spec:bug] 14:44:37 https://github.com/w3c/sparql-query/issues/22 14:44:37 https://github.com/w3c/sparql-query/issues/22 -> Issue 22 SPARQL Query errata (3/5) (by afs) [spec:bug] 14:44:52 https://github.com/w3c/sparql-query/issues/23 14:44:52 https://github.com/w3c/sparql-query/issues/23 -> Issue 23 SPARQL Query Errata (4/5) (by afs) [spec:bug] 14:44:58 https://github.com/w3c/sparql-query/issues/24 14:44:59 https://github.com/w3c/sparql-query/issues/24 -> Issue 24 SPARQL Query Errata (5/5) (by afs) [spec:bug] 14:47:18 AndyS: The four GitHub issue mentioned above contain the errata from the official errata list 14:47:27 q? 14:47:33 ... some of them are already addressed. 14:47:51 s/please skip me until I fix that// 14:49:35 https://github.com/w3c/sparql-query/blob/main/discussion/Defining_the_DEEP_INJECTION_approach_for_EXISTS.md#expr%CE%BC-d-g-%CF%89ctx-for-exists-semantics-deep-injection-and-overall-without-projection 14:51:16 olaf: The last definition defines how to evaluate an EXIST in a context of a solution mapping 14:56:54 olaf: There is completely different way to define this by defining a new symbol for the algebra syntax and place it at the beginning of any graph pattern 14:57:34 s/any graph pattern/any group graph pattern/ 14:57:59 olaf: If applied directly, it leads to more joins than what is needed 14:58:18 https://github.com/w3c/sparql-query/pull/257 14:58:19 https://github.com/w3c/sparql-query/pull/257 -> Pull Request 257 Correlated EXISTS (by afs) 14:58:27 olaf: S: This goes more in the direction on this PR ^ 14:58:49 AndyS: This goes more into the direction of what pfps describe 15:01:03 q? 15:01:31 AndyS: The injection is there. The new operator is "get current row", it fetches from the context of the evaluation 15:01:52 AndyS: As you go down to a nested exist, you get the combined correlated row passed down 15:02:09 AndyS: Instead of having an argument in eval this use an aside stack 15:02:46 olaf: I think the two operations can be merged 15:03:13 olaf: There is the new parameter to inject the solution mapping and the new operator to use it 15:03:27 olaf: I think that the one pfps has in mind 15:05:16 pfps: There is no separated stack for injected solution mapping, it is part of the call stack 15:09:33 olaf: I would be happy to write an other document with the merged idea (the one from pfps email) 15:10:04 AndyS: We don't have to write everything into notes 15:10:11 AndyS: We have to commit to something 15:10:41 pfps: Aside from the horrible computational cost, no other points 15:11:33 q+ to ask for example where blank nodes in SERVICE would cause problems 15:12:35 ack gtw 15:12:35 gtw, you wanted to ask for example where blank nodes in SERVICE would cause problems 15:12:41 pfps: The problem is that SPARQL functions should be able to look at blank nodes 15:13:05 gtw: If we assume we find some way to convey them in a VALUE clause, is there a deeper problem? 15:13:18 pfps: It depends on what you think about identity of blank nodes 15:13:52 pfps: If you SERVICE you called is on the same data, you might like your blank node identity to be the same 15:14:18 pfps: If it's on different data, you might prefer that blank nodes do not match anything on the other side 15:14:42 pfps: We don't have a good definition of SERVICE, so we don't know what is supposed to happen 15:15:36 pfps: Suppose you have an RDF dataset that share blank nodes between graphs, a part need to be protected and you use SERVICE for that, you want to keep blank node identity 15:16:00 gtw: But SERVICE document state it uses SPARQL protocol that does not allow to communicate blank node identity 15:16:18 AndyS: There is no syntax to move concrete blank node ids around 15:16:44 AndyS: There is negation in SPARQL, even if blank node are not going to match, you can't ignore them 15:16:49 q+ 15:17:24 AndyS: if you can find a way to move them around great, but you are outside of the spec at this point 15:17:33 ack lisp 15:18:15 lisp: There is at least 1 implementation that run SERVICE clauses in process in the same evaluation environment but runs it has a view 15:18:28 lisp: In that case, what pfps is concern about is a real concern 15:19:13 lisp: For the "SERVICE for access control", what happens with blank nodes is an issue 15:19:40 AndyS: An other example is to use SERVICE for full text search 15:21:51 gtw: I think this is opening a big area of features but I am afraid this is outside of the pec 15:22:16 s/the pec/the spec/ 15:22:23 agenda? 15:22:24 TallTed has joined #rdf-star 15:23:07 https://www.w3.org/TR/2013/REC-sparql11-federated-query-20130321/#algebra_service 15:24:03 q+ 15:24:28 ack lisp 15:25:45 gtw: We don't have a mechanism to pass blank nodes in SERVICE through SPARQL protocol 15:25:59 pfps: Assuming we had it, we are done 15:26:30 AndyS: If we don't introduce a mechanism (as someone said, we don't want to introduce new features)... 15:26:45 pfps: We have the problem of some queries with EXISTS are malformed, it's an errata 15:27:21 pfps: We can say "we need a new mechanism to fix SERVICE in EXISTS" or we can say "deep stop at SERVICE" which could be possible but a little bit ackward 15:27:53 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html TallTed 15:28:06 pfps: SHACL prohibits service completely 15:28:12 s/ackward/awkward/ 15:28:39 q+ 15:28:55 q+ 15:29:22 olaf: I was considering the idea that SERVICE is not allowed in EXISTS 15:29:29 +1 to service does not propagate state 15:29:32 present+ 15:29:57 AndyS: If you assume that SERVICE are their own separated world, then forbidding them in EXISTS make sense 15:30:15 q?# 15:30:17 ack olaf 15:30:18 q+ 15:30:23 ack olaf 15:30:30 AndyS: I don't want to say "the spec does not define this case" but I prefer that against this becoming a blocking issue 15:31:02 ack TallTed 15:31:04 TallTed: If I recall correctly, SERVICE is not forbidden in SHACL, it's more an unwelcome guest (there but nobody wants to acknowledge it) 15:31:08 "SPARQL queries must not contain a federated query (SERVICE)" 15:31:47 at https://www.w3.org/TR/shacl12-sparql/#pre-binding 15:32:38 q? 15:33:16 lisp: I don't think it would be a limitation on the current spec to state "the state is not propagated inside of a SERVICE clause" 15:33:51 q+ to state that not propagating into SERVICE would be sad for systems that do dynamic federation (introducing SERVICE calls automatically) 15:34:04 ack lisp 15:34:08 q+ 15:34:26 ack Tpt 15:34:26 Tpt, you wanted to state that not propagating into SERVICE would be sad for systems that do dynamic federation (introducing SERVICE calls automatically) 15:34:50 ack pfps 15:35:04 pfps: Indeed, both SHACL 1.1 and 1.2 prohibit SERVICE 15:36:47 olaf has left #rdf-star 15:48:07 I have made the request to generate https://www.w3.org/2025/09/05-rdf-star-minutes.html TallTed