Re: type and instance and subclass in SHACL documents

On 03/11/2016 10:19 AM, Karen Coyle wrote:
> 
> 
> On 3/11/16 9:27 AM, Peter F. Patel-Schneider wrote:
>> So, SHACL uses RDF terms from RDFS, particularly rdfs:subClassOf, and notions
>> from RDFS, notably instance, but in a way different from what they mean in
>> RDFS (and RDF).   The SHACL specification documents need to distinguish their
>> use of these well-known terms from their dominant meaning.
> 
> I've heard readers of the SHACL document refer to this varied use of RDF/RDFS
> terms as a "non-starter" that weakens the entire premise of the standard, and
> I tend to agree. I would say that if you aren't using a term as it is defined
> in its definitional standard, then you should create a new term that
> corresponds to your meaning. We already insisted on that for sh:label, and it
> may be needed for other properties as well.
> 
> Peter, I would benefit from a less rhetorical approach - the dramatic
> repetition of "Not in SHACL" would be more informative if it were followed by
> what IS in SHACL, rather than making us all trying to guess what's wrong here,
> especially those of us who might not see it as clearly as others. Help us out,
> please. Thanks.
> 
> kc

The claim I was responding to was that SHACL was conforming to RDFS.  The
support for this claim was given as certain passages that appeared to have
been taken from the RDFS 1.1 Schema document.  I pointed out other relevant
passages from the same document that SHACL does not conform to.  I don't see
any more effective way of showing that the claim is incorrect.


What *is* in SHACL?  The following recent addition to the SHACL document
provides reasonable definitions.

""In the remainder of this document, the following terminology is used:
- subclass, superclass: A class Sub is a subclass of another class Super if
there is a path of asserted rdfs:subClassOf triples from Sub to Super
equivalent to the SPARQL property path [sparql11-query] ?Sub rdfs:subClassOf+
?Super. The term superclass is referring to the same relationship in reverse
order.
- type: The types of a node are the classes that are linked to the node via
rdf:type as well as their superclasses as defined above.
- instance: A node is an instance of a class if one of its types (as defined
above) is the given class."""

However, these definitions of subclass, superclass, type, and instance differ
significantly from their meanings in RDFS.

peter

Received on Friday, 11 March 2016 19:18:49 UTC