ISSUE-23: Another attempt to compromise

This isn't my preferred solution to the Shapes vs. Classes debate, but I 
would still like to present it as I believe it *should* be something 
that we can all live with. This proposal is to remove sh:ShapeClass, but 
leave the following rule in:

     If a ?class is also a ?shape (in the shapes graph), then infer 
?shape sh:scopeClass ?class.

In practice this means that the following scenarios are possible:

1) Just one combined graph

     ex:Person
         a rdfs:Class, sh:Shape ;    # two type triples
         sh:property ...

2) Separated graphs

Ontology:

     ex:Person
         a rdfs:Class ;

Shapes Graph (owl:imports Ontology)

     ex:Person
         a sh:Shape ;
         sh:property ...

I believe this proposal is minimally acceptable with regards to our 
previous resolution to examine punning/merging. The inference of the 
sh:scopeClass is very little overhead and easy to explain to users. The 
separation of two explicit types allows splitting them into two separate 
graphs, reducing the risk of "modeling-vs-shaping" confusion.

I had already mentioned this option (b) on the Proposals page - I would 
appreciate more opinions on this.

https://www.w3.org/2014/data-shapes/wiki/Proposals#ISSUE-23:_Shapes_as_Classes

Holger

Received on Saturday, 21 November 2015 23:58:41 UTC