- From: Irene Polikoff <irene@topquadrant.com>
- Date: Fri, 11 Mar 2016 13:17:45 -0500
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, Holger Knublauch <holger@topquadrant.com>, <public-data-shapes-wg@w3.org>
Peter, This is a long list of statements and would require significant time to examine each. I don¡¯t have unlimited amounts of time and I doubt that many people on the working group do. For this reason, I would like to make sure that all statements are relevant. Currently, just glancing at this quickly, I have doubts that they are. For example: """rdfs:range is an instance of rdf:Property""" Not in SHACL. Does SHACL even use rdfs:range? Irene On 3/11/16, 12:27 PM, "Peter F. Patel-Schneider" <pfpschneider@gmail.com> wrote: >These quotes appear to be from RDF Schema 1.1, >https://www.w3.org/TR/rdf-schema/ > >From that document: >This document is intended to provide a clear specification of RDF Schema >to >those who find the formal semantics specification [RDF11-MT] daunting. >Thus, >this document duplicates material also specified in the RDF Semantics >specification. Where there is disagreement between this document and the >RDF >Semantics specification, the RDF Semantics specification should be taken >to be >correct. > >But let's stick with this document. > >"""All things described by RDF are called resources, and are instances of >the >class rdfs:Resource. This is the class of everything. All other classes >are >subclasses of this class. rdfs:Resource is an instance of rdfs:Class.""" > >Not in SHACL. > >"""2.2 rdfs:Class >This is the class of resources that are RDF classes. rdfs:Class is an >instance >of rdfs:Class.""" > >Not in SHACL. > >"""rdfs:Literal is an instance of rdfs:Class. rdfs:Literal is a subclass >of >rdfs:Resource.""" > >Not in SHACL. > >"""rdf:Property is an instance of rdfs:Class.""" > >Not in SHACL. > >"""rdfs:range is an instance of rdf:Property""" > >Not in SHACL. > >"""The triple > P rdfs:range C >states that P is an instance of the class rdf:Property, that C is an >instance >of the class rdfs:Class and that the resources denoted by the objects of >triples whose predicate is P are instances of the class C.""" > >Not in SHACL. > >"""A triple of the form: > P rdfs:domain C >states that P is an instance of the class rdf:Property, that C is a >instance >of the class rdfs:Class and that the resources denoted by the subjects of >triples whose predicate is P are instances of the class C.""" > >Not in SHACL. > >"""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.""" > >Not in SHACL, partly because SHACL doesn't use this definition of >instance. > >"""The property rdfs:subPropertyOf is an instance of rdf:Property that is >used >to state that all resources related by one property are also related by >another.""" > >Not in SHACL, and this can have large impacts on instance. > >"""A triple of the form: > P1 rdfs:subPropertyOf P2 >states that P1 is an instance of rdf:Property, P2 is an instance of >rdf:Property and P1 is a subproperty of P2. The rdfs:subPropertyOf >property is >transitive.""" > >Not in SHACL. > >"""rdfs:label is an instance of rdf:Property""" > >Not in SHACL. > >""rdfs:comment is an instance of rdf:Property""" > >Not in SHACL. > >There are quite a few more of these. > > >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. > > > >peter > > > > > >On 03/07/2016 03:00 PM, Irene Polikoff wrote: >> rdfs:subClassOf is defined as follows: >> >> "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. >> A triple of the form: >> >> C1 rdfs:subClassOf C2 >> >> states that C1 is an instance of rdfs:Class, C2 is an instance of >> rdfs:Class and C1 is a subclass of C2. The rdfs:subClassOf property is >> transitive." >> >> This definition doesn©öt really require for any inferred triples to be >> present. >> >> >> Is there anything in SHACL©ös use of rdfs:subClassOf that is >>contradictory >> to the above definition? >> >> The only wording close to the definition of the word ©øinstance©÷ that I >> found in the specs is: >> >> "The members of a class are known as instances of the class.©÷ >> >> >> Finally, rdf:type is described in the RDFS spec as >> >> "The rdf:type property may be used to state that a resource is an >>instance >> of a class.©÷ >> >> RDF specs don©öt talk about rdf:type. >> >> >> Is there anything in SHACL©ös use of the word ©øinstance" or of rdf:type >> that contradicts this definition? If so, what is it? >> >> >> >> Irene Polikoff >> >> >> >> >> >> >> On 3/7/16, 5:36 PM, "Holger Knublauch" <holger@topquadrant.com> wrote: >> >>> On 8/03/2016 1:51, Peter F. Patel-Schneider wrote: >>>> On 03/06/2016 08:46 PM, Holger Knublauch wrote: >>>>> Thanks for the feedback, Peter. I have tried to address it here: >>>> [...] >>>> >>>>> On 7/03/2016 6:59, Peter F. Patel-Schneider wrote: >>>>>> General >>>> [...] >>>> >>>>>> It is not sufficient to say in 1.1 that SHACL has unique versions of >>>>>> types >>>>>> and instances. These notions are in very widespread use. Each time >>>>>> that >>>>>> SHACL deviates from the common, accepted W3C practice it should be >>>>>> called >>>>>> out, e.g., "SHACL type" or "SHACL instance". >>>>> I hope this doesn't need to be repeated each time as this may render >>>>> the >>>>> document harder to read. Furthermore, the terms "SHACL type" and >>>>>"SHACL >>>>> instance" would first need to be formally defined too. >>>>> >>>>> Instead, I suggest we should define what "type", "instance" and >>>>> "subclass" >>>>> mean in the remainder of the document. I have put a corresponding >>>>> terminology >>>>> block at the end of section 1.1 >>>> This is inadequate. >>>> >>>> SHACL uses RDF graphs and RDFS vocabulary. There are already >>>> definitions of >>>> type and instance and subclass that come from RDF and RDFS. SHACL >>>> needs to >>>> differentiate its version of type and instance and subclass from these >>>> dominant notions and this can only be reliably done by qualifying them >>>> each >>>> time they appear in formal SHACL documents. >>>> >>>> Alternatively the SHACL document could use different words for these >>>> relationships or could restrict the inputs that it handles so that it >>>> uses the >>>> dominant versions of type and instance and subclass. >>> >>> My interpretation of the situation is >>> >>> - RDF and RDFS define the IRIs of vocabulary terms rdf:type and >>> rdfs:subClassOf >>> - terms like subclass, type and instance already existed before RDFS >>>and >>> carry intuitive meaning >>> - there is no need to over-complicate a situation that is already clear >>> to most readers >>> >>> The only difference between our definitions of the terms is that you >>> think that subclassing must always require inferences (domain, ranges >>> etc). I believe these concepts are orthogonal. Some rdfs:subClassOf >>> triples may be the result of inferencing, but it doesn't matter to >>>SHACL >>> where they came from. As long as we make this clear in the beginning, I >>> hope we can keep the document intuitive and not over-complicate it. >>> >>> Holger >>> >>> >> >> >>
Received on Friday, 11 March 2016 18:18:25 UTC