11:50:56 RRSAgent has joined #data-shapes 11:51:01 logging to https://www.w3.org/2026/03/09-data-shapes-irc 11:51:01 zakim, start meeting 11:51:01 RRSAgent, make logs Public 11:51:02 please title this meeting ("meeting: ..."), AndyS 11:51:16 meeting: Data Shapes WG 11:51:16 agenda: https://github.com/w3c/data-shapes/blob/agenda/admin/plenary-2026-03-09.md 11:51:16 previous meeting: https://www.w3.org/2026/03-02-data-shapes-minutes.html 11:51:16 next meeting: https://www.w3.org/2026/03/16-data-shapes-minutes.html 11:51:18 clear agenda 11:51:18 agenda+ Phase 1 deliverables 11:51:18 agenda+ Phase 2 deliverables 11:51:18 agenda+ Review old PRs 11:51:18 agenda+ Task Force reports 11:51:20 agenda+ General Business 11:51:29 rrsagent, make logs public 11:51:31 rrsagent, please draft minutes 11:51:32 I have made the request to generate https://www.w3.org/2026/03/09-data-shapes-minutes.html AndyS 11:52:26 chair: Eliana 11:55:53 TallTed has joined #data-shapes 11:59:11 previous meeting: https://www.w3.org/2026/03/02-data-shapes-minutes.html 11:59:19 simonstey has joined #data-shapes 11:59:23 rrsagent, please draft minutes 11:59:24 I have made the request to generate https://www.w3.org/2026/03/09-data-shapes-minutes.html AndyS 12:00:11 HolgerK has joined #data-shapes 12:00:20 nicholascar has joined #data-shapes 12:00:27 present+ 12:00:43 present+ 12:00:51 present+ 12:01:05 DavidHabgood has joined #data-shapes 12:02:10 mgberg has joined #data-shapes 12:02:55 ajnelson-nist has joined #data-shapes 12:02:56 scribe: simonstey 12:03:06 ieben has joined #data-shapes 12:03:12 present+ 12:03:18 present+ 12:03:22 agenda? 12:03:30 present+ 12:03:31 elianaP has joined #data-shapes 12:03:35 present+ 12:03:42 present+ 12:03:46 topic: phase 1 deliverables 12:03:53 q+ 12:04:07 elianaP: response to the tag review 12:04:09 detailed agenda -- https://github.com/w3c/data-shapes/blob/agenda/admin/plenary-2026-03-09.md 12:04:20 present+ Carine 12:04:28 nicholascar: quickly mentioning the overall picture: looking over the responses 12:04:56 ... mostly have nothing to do, as some of the issues were already closed 12:05:15 ack me 12:05:15 ... there is one were we have to do something but we'll come to that later 12:05:27 topic: list of old PRs 12:05:43 elianaP: ajnelson-nist any infos on that? 12:05:47 edmond has joined #data-shapes 12:05:53 ajnelson-nist: nothing new since last week 12:06:00 present+ 12:06:14 ... was working on profiling stuff 12:06:35 ... still some stuff to do on them 12:07:10 elianaP: there were also 2-3 from vladimir, not sure if something remains to be done on them 12:07:15 I have made the request to generate https://www.w3.org/2026/03/09-data-shapes-minutes.html TallTed 12:07:21 q? 12:07:27 ... or whether those were related to compact syntax by any chance 12:07:32 YoucTagh has joined #data-shapes 12:07:33 https://raw.githack.com/w3c/data-shapes/issue-661/shacl12-core/index.html#UniqueValuesForConstraintComponent 12:07:36 topic: TF updates 12:08:08 HolgerK: I would appreciate some feedback on the PR (link above) 12:08:26 present+ 12:08:53 ... uniqueValuesFor -> you can provide a single propery or multiple ones where the combination of all these values must be unique 12:09:10 q+ 12:09:23 q+ 12:09:52 nicholascar: makes sense, all instance of that class have this value 12:10:36 present+ elianaP, 12:10:36 s/chair: Eliana/chair: elianaP/ 12:12:12 HolgerK: You just said "instances" — that's one of the hairy points I'm unsure about. Whether we have to limit this to all the other target nodes of the shape, or whether this should be applied globally, wherever this predicate is used. The algorithm becomes much more complicated if we limit it to the target nodes of the shape, because the 12:12:12 constraint could be reached indirectly from a node constraint, and then it's unclear what the target nodes are 12:12:23 nicholascar: That's how I read it. So your target class of "record" would mean only records need to have a unique ID field. You might have records 1–70, you might have chickens 1–7. But the shape's only going to see records as being unique within the scoping of that node shape, right? 12:12:35 ajnelson-nist: But what happens if a chicken and a record have the same ID value? 12:12:46 s/constraint could be reached indirectly/... constraint could be reached indirectly/ 12:12:59 HolgerK: It doesn't matter, because the node shape's only looking at records - or whatever subjects of that class - and the other one's looking at chickens or whatever. So it's only unique within that scope. That's how I initially read it, Holger - but are you saying that's actually harder than the global case? 12:13:24 q+ 12:13:29 q? 12:13:33 ack me 12:14:00 q+ 12:14:50 q. 12:14:57 ack simonstey 12:15:28 HolgerK: because you just have to do basically a join to see if the value is already used elsewhere with the same predicate. The problem is that this would be the first constraint that actually depends on the target declaration of its surrounding shape. I don't think we have this anywhere else. Which is why I'm a bit nervous about it. Saying that 12:15:28 this only applies to instances of the class is of course an easy case, but it's not always that easy - it could be a totally different target, a target node with a node expression, or whatever. 12:15:37 present+ YoucTagh, DavidHabgood 12:15:47 I have made the request to generate https://www.w3.org/2026/03/09-data-shapes-minutes.html TallTed 12:16:10 nicholascar: Speaking from my own experience with vocabularies: we use skos:notation over and over again as the uniqueness/literal-binding predicate. What defines the uniqueness is the context it's in - a concept scheme or something like that - which a node filter could handle. It could say "just look at the ones in here" - e.g. target objects of 12:16:10 skos:inScheme for this concept scheme, for instance, would do it. 12:16:46 simonstey: so if you have multiple properties, it's a set? so no order? 12:16:46 s/this only applies to instances/... this only applies to instances/ 12:16:48 HolgerK: yes 12:16:51 q- 12:17:03 s/skos:inScheme for this/... skos:inScheme for this/ 12:17:10 ack me 12:17:42 AndyS: if it's a list and so it's a composite key, the order does matter doesnt it? 12:17:57 I have made the request to generate https://www.w3.org/2026/03/09-data-shapes-minutes.html TallTed 12:19:03 HolgerK: Well, they would have to show up with exactly the same predicate and the same object. And then it's a set again 12:19:06 ... so I don't see how order matters there. 12:19:26 AndyS: You don't know they're unique in that sense, because you haven't got a constraint that they only occur once. And if you're going to make a list for bad data, I think you would get duplicate keys 12:19:42 ... but that may not matter to you. What I was going to say is: if it's complicated about what it applies to, maybe there should be another predicate to give some kind of scoping. Or to say it only applies to nodes which are acting in the target role 12:19:51 ... because they may be linked to as well, and hence their target is irrelevant. Something like "it has to be a target node" or similar. 12:21:02 nicholascar: we have couple of PRs that have been under review, and I merged it about 10 seconds ago 12:21:20 q? 12:21:33 ... the main PR we wanted to get through is through and it's unofrtunately pulled out all these errors that we made in our unfinished profiles vocab 12:22:06 ... conceptually it's all fine, but need to clean things up 12:22:42 ... we have 2-4 more use cases to appear. I actually rejected a UC which was not about profiling but actually SHACL rules 12:24:20 ... We've also got a small conceptual issue to do with all the things you might benefit from having done SHACL validation on. If you have a data graph and you run a test and show that it's valid, our contention is that you can then assert in your own graph that that data graph 12:24:31 ... conforms to that shapes graph 12:24:55 ... But we don't actually have a class for "data graph" or "shapes graph." We've been doing this informally, using IRIs of graphs to identify them 12:24:59 ... but that's an underspecified object 12:25:13 ... If it's a file without an ID, it's a local ID that doesn't mean anything externally. If we've got a system with a named graph in it, we can say that graph conforms to that shapes graph 12:25:25 ... but that's not good enough. We actually need more ontology to say this properly. We need objects called DataGraph and ShapesGraph. We have definitions for them 12:25:48 q+ 12:25:55 ... what we need to do is that we have a few bits of ontology in SHACL Profiling that have been entirely borrowed from elsewhere: "isDefinedBy", "conformsTo" etc. But in some cases, "conformsTo" from Dublin Core is not actually ontologically strong enough for what we need. So I think we're going to need to make a small vocabulary 12:26:28 ... it would give you just enough ontology to describe the outcomes of validation, so you can record: "this thing is valid against that thing." What is "this thing"? It's a chunk of RDF. What is "that thing"? It's a set of SHACL shapes 12:26:51 https://github.com/orgs/w3c/projects/231 12:27:24 ack me 12:27:53 ajnelson-nist: link above is for a "private" project for profiling 12:28:02 edmond: we have the scoring now in a PR 12:28:36 ... mainly, we've been discussing how to move forward with SHACL UI in terms of how flexible and how modular we should make it 12:29:01 ... with the idea to align with SHACL core without validation processes 12:29:29 ... e.g. you give it a set of inputs and there is an expected set of outputs 12:29:58 ... we'll have a look at the SHACL profile work 12:30:08 q+ 12:30:12 AndyS: there is a proposed meeting this week 12:30:19 ... for SHACL Rules 12:30:54 s/q.// 12:30:59 ... features and Service description are additional features to the spec not do you implement them or not 12:31:10 I have made the request to generate https://www.w3.org/2026/03/09-data-shapes-minutes.html TallTed 12:31:25 ... there are very few exceptions to what people have implemented 12:31:34 ... there is some proposed work to do 12:32:19 ... [more discussion] 12:32:36 q? 12:32:47 AndyS: two PRs, one is editorial the other one an algorithm from david 12:33:17 ... we probably won't be able to close all issues that are marked rules 12:33:31 ack ajnelson-nist 12:34:02 ajnelson-nist: one of the profiles that we had considered a while ago was about profiles of SHACL based on computational complexity 12:34:12 ... applies to nodeexpr too 12:35:08 ... have you done some complexity analysis like big O complexity for the features of rules? 12:35:52 AndyS: don't know about SHACL SPARQL, but you're off to lalaland anyway, because it's SPARQÖ 12:36:01 s/SPARQÖ/SPARQL/ 12:36:36 ajnelson-nist: so are you suggesting to hold off on having a profile for comp. complexity for now? 12:36:57 q+ 12:36:59 AndyS: I don't think it's helpful to have a profile for all of SHACL 12:37:12 ack me 12:37:38 ... e.g. maybe you could combine core+sparql for the comp. cost of valdation 12:38:17 nicholascar: or maybe just one for SHACL Core, forget nodeexpr, SPARQL, rules, etc. 12:39:15 ack me 12:39:15 ... I've got a thing that only allows certain kinds of functions that are known to be runnable. Here's my profile of SHACL Core that doesn't do X, X1 12:39:48 ... And in fact, most of the time we don't bother with RL either - we just use RDFS. So that's the kind of thing I'm thinking about. And what I want to know is: does the community actually implement things this way? Yes, at least some of them do. 12:39:58 topic: compact syntax 12:40:34 nicholascar: got in contact with Jesse and told him we need to have scope by the middle of the month 12:40:49 ... and shell of the document by the end of the month 12:41:11 ... and by the end of April we need substantial work to be done 12:41:38 elianaP: if anyone wants to support the editor of the CS document, please get in touch 12:42:58 nicholascar: more impacts coming through as Alex finds faults in the Dataset Exchange outputs, but they're fairly straightforward to fix. What I've been doing is creating tickets against the Profiles Vocabulary and so on for the things we're discovering 12:43:07 ... they just go in there, and that means when that work starts, it'll be an easy win to just address those things. 12:43:19 ... And if the profiling work has come up with additional ontology and things like that, I see no reason why that more generic profiling document wouldn't say "by the way, this is how it's done in SHACL" 12:43:44 topic: discussing tag review 12:44:06 TAG review of Core for actioning: https://github.com/w3ctag/design-reviews/issues/1166 12:44:42 q+ 12:44:42 nicholascar: the dervied properties feature mentions that it introduces its own inferencing and reasoning capabilities. 12:45:37 ... we suggest the summary is recised to avoid giving the impression that SHACL defines new semantics of hidden inferencing -> so I'll leave that to the core group to address 12:46:12 AndyS: you also asked the RDF and SPARQL WG for review.. what do you exactly want from them? 12:46:24 nicholascar: well, we're duty bound to ask 12:47:03 ack me 12:47:13 AndyS: there haven't been changes that would affect the way SHACL is used 12:47:35 ... but if you want feedback to specific features you have to link to them 12:48:23 I have made the request to generate https://www.w3.org/2026/03/09-data-shapes-minutes.html simonstey 13:01:08 Zakim, end meeting 13:01:08 As of this point the attendees have been nicholascar, AndyS, TallTed, ajnelson-nist, mgberg, HolgerK, simonstey, ieben, Carine, edmond, YoucTagh, elianaP, DavidHabgood 13:01:11 RRSAgent, please draft minutes 13:01:13 I have made the request to generate https://www.w3.org/2026/03/09-data-shapes-minutes.html Zakim 13:01:18 I am happy to have been of service, TallTed; please remember to excuse RRSAgent. Goodbye 13:01:18 Zakim has left #data-shapes 13:01:25 RRSAgent, bye 13:01:25 I see no action items