- From: Alex Nelson via GitHub <noreply@w3.org>
- Date: Thu, 18 Sep 2025 11:36:40 +0000
- To: public-shacl@w3.org
ajnelson-nist has just created a new issue for https://github.com/w3c/data-shapes: == Members of metaclasses should explicitly be classes == This is a follow-on to [PR 512](https://github.com/w3c/data-shapes/pull/512), which, among other things, initiated a metaclass design pattern. I have no complaints about the pattern's design, but did come across an implementation detail that I think would be helpful to spell more explicitly. The instances of metaclasses are currently subjects of `rdfs:subClassOf`, but are not themselves `rdfs:Class`es. There are a few benefits to being explicit that these nodes are `rdfs:Class`es: * If they are classes, the OWL casting for [Issue 246](https://github.com/w3c/data-shapes/issues/246) can just look for instances of `rdfs:Class`. * Seeing the extra `rdf:type` on a `rdfs:Class` emphasizes that these are intentionally members of meta-classes; and, likewise, there are meta-classes floating around somewhere. * There is a reduced chance of confusion from seeing `rdfs:subClassOf` on something that is not explicitly an `rdfs:Class`. I came across the now-missing `rdfs:Class` statements because a prior state of Issue 246's PR had already done the casting of `sh:SelectExpression` and `sh:SPARQLExprExpression`, but post PR 512, it looked like they'd dropped, and I became curious if they'd migrated to `shnex.ttl`. They didn't; they'd just lost the `a rdfs:Class` triple I'd been relying on in my `CONSTRUCT` query. I'll file a PR momentarily to add `a rdfs:Class` to all the subjects of `rdfs:subClassOf`. Please view or discuss this issue at https://github.com/w3c/data-shapes/issues/575 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 18 September 2025 11:36:41 UTC