- From: Irene Polikoff <irene@topquadrant.com>
- Date: Fri, 11 Mar 2016 15:05:02 -0500
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, <kcoyle@kcoyle.net>, <public-data-shapes-wg@w3.org>
It seems that there are two claims: Claim 1: SHACL defined rdfs:subClassOf and rdf:type in a way that contradicts standard RDFS definition Claim 2: SHACL doesnıt use many of RDFS terms - such as rdfs:domain and rdfs:range. At least, I am guessing that this is what multiple ³not in SHACL² refer to. I see claim 2 as irrelevant. There is no requirement to use all of RDFS terms. Claim 1 is relevant. However, I donıt see the contradiction. The only relevant quotes from the RDFS spec are: """2.2 rdfs:Class This is the class of resources that are RDF classes. rdfs:Class is an instance of rdfs:Class."" """The property rdfs:subClassOf is an instance of rdf:Property that is used to state that all the instances of one class are instances of another.""" And the text above these definitions: "If a class C is a subclass of a class C', then all instances of C will also be instances of C'. The rdfs:subClassOf property may be used to state that one class is a subclass of another. The term super-class is used as the inverse of subclass. If a class C' is a super-class of a class C, then all instances of C are also instances of Cı." SHACL relies on the presence of rdfs:subClassOf property to determine if one class is a sub class of another. Thus, it doesnıt redefine the meaning of a subclass. We may want to slightly modify the SHACL definition to make sure that there is no confusions - to something like: "In the remainder of this document, the following terminology is used: - subclass, superclass: A class C is a subclass of class Cı if all instances of C are also instances of C'. SHACL relies on the rdfs:subClassOf statements, either asserted or inferred, (e.g., C rdfs:subClassOf Cı) to know that C is a subclass of Cı. The term superclass is referring to the same relationship in reverse order.² And then elsewhere say that "SHACL engines MUST perform inferences according to RDFS CL profile.² - as I described in the previous e-mail. This would take care of the transitive closure of rdfs:subClassOf. ³RDF CL² is just a proposed name. I am not married to it by any means. Irene On 3/11/16, 2:18 PM, "Peter F. Patel-Schneider" <pfpschneider@gmail.com> wrote: >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 20:05:41 UTC