Re: type and instance and subclass in SHACL documents

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