Re: Fwd: Re: ISSUE-23: sh:ShapeClass?

On 5/15/2015 16:37, Dimitris Kontokostas wrote:
>
>
> On Thu, May 14, 2015 at 10:57 PM, Holger Knublauch 
> <holger@topquadrant.com <mailto:holger@topquadrant.com>> wrote:
>
>
>     On 5/14/15 7:09 PM, Dimitris Kontokostas wrote:
>>
>>     If the metaclass is used only for the people who prefer to avoid
>>     the typing of an extra type statement I would prefer they do it
>>     in their own namespace. I would rather make sh:ShapeClass a
>>     subClass of sh:Shape only but this is only my opinion,
>
>     What would be the purpose of sh:ShapeClass if it were just a
>     subclass of sh:Shape?
>
>
> Syntactic sugar for the user and the shacl engines to mix the IRIs.
> if someone states " :ex a sh:ShapeClass" the shacl engine will assume 
> " :ex a sh:Shape ; sh:scopeClass :ex"
> weather or not (and where) " :ex a rdfs:Class / owl:Thing / ..." is 
> defined would be out of scope for shacl.
>
> From your replies I cannot understand if you want something more that 
> this and what would be the extra benefit of making sh:ShapeClass a sub 
> class of rdfs:Class.

Because if every sh:ShapeClass is also an rdfs:Class then RDFS tools can 
also use these resources directly as classes, without requiring another 
rdf:type triple. It is also cleaner for adding things like 
rdfs:subClassOf triples. In editing tools like TopBraid, we can display 
constraints and subClassOf on the same form, all in a single place. 
Class diagrams can display sh:ShapeClasses just like any other class. 
Any RDFS-aware tool can understand this because the information is 
transparently encoded and not just implicit in some SHACL engine. Take 
auto-complete fields or drop-down boxes: If you have a property (such as 
rdfs:subClassOf) that takes rdfs:Class as values, then the instances of 
sh:ShapeClass will correctly show up in those widgets alongside with 
other classes.

May I revert the question - why would it be better to not have 
sh:ShapeClass rdfs:subClassOf rdfs:Class? Why shouldn't we be allowed to 
introduce another metaclass just like OWL did, with owl:Class?

Thanks
Holger

Received on Friday, 15 May 2015 07:17:15 UTC