Open Ostrzyciel opened 4 weeks ago
After some contemplation, I think it would make sense to full implement all current reasoning rules also in SHACL-AF.
As for validation rules, I'm pretty sure I once saw SHACL shapes for SKOS. We should probably inherit them / reuse them in some way.
RDF-STaX currently uses OWL 2 DL, which is nice and interoperable... but there also the ugly sides of OWL, like the fact that it's not really that widely supported, or that its reasoning in most cases is not very performant. Some people will prefer SHACL for these reasons.
I think we could consider using SHACL as a second, parallel ontology language for RDF-STaX. Basically, the same properties and classes would be described in OWL and SHACL, and users could pick to use one or the other. The graphs produced with this approach would be as compatible as they can be.
SHACL uses the closed world assumption and is typically used for validation. However, it is totally possible to define reasoning rules with SHACL-AF.
One thing to consider is to look at the existing RDF-STaX use cases and see what we can do to meet their requirements with this SHACL ontology. For example, in RiverBench, SHACL is already used to validate the compatibility of stream type annotations on a single dataset. Could we integrate that in a shared ontology?
Here's a good resource to read on making OWL ontologies into SHACL ones and how they compare: https://web.archive.org/web/20220517034322/https://www.topquadrant.com/shacl-blog/ Note that I'm not saying that I agree with everything that is written there. I'm certain, however, that the technical content about SHACL there is very good.