Re: type and instance and subclass in SHACL documents

This is becoming a long long thread about what is an entirely editorial 
matter. I don't think it deserves the urgency. I also do not agree that 
we are misusing these terms at all. I believe to make progress we could

a) try to find alternative terms (Peter suggested "SHACL instance" etc, 
but it could also be "is-a")
b) follow the lead of what other, similar W3C specs are doing
c) define the terms in the beginning and then use them as <span 
class="term">instance</span> so that the reader knows that we use that 
definition. That would be my preferred solution.

Looking at the OWL 2 spec [1] the term "instance" is used in many 
different contexts, without even being defined:
- "Each OWL 2 ontology represented as an instance of this conceptual 
- "if an individual/a:Peter/is an instance of the class/a:Student/, 
and/a:Student/is a subclass of/a:Person/, then from the OWL 2 semantics 
one can derive that/a:Peter/is also an instance of/a:Person/."
- "Instances of the UML classes"
- Class expressions represent sets of individuals by formally specifying 
conditions on the individuals' properties; individuals satisfying these 
conditions are said to be /instances/of the respective class expressions"
- ...

Not only does OWL use the term "instance" inconsistently but even 
changes the RDF term by applying additional OWL semantics. RDFS does not 
have the monopoly on these terms.

The problem is not our use of these terms but the misleading section 1.1 
that needs to be replaced. I liked a previous proposal from Dimitris, 
along the lines of "SHACL is based on pattern matching like SPARQL. 
Inferencing is not required but there is no harm if inferencing is 
activated (be it OWL or RDFS inferencing)". Then define the terms 
similar to what we currently have at the end of section 1.1. And that's it.


On 22/03/2016 4:15, Peter F. Patel-Schneider wrote:
> I don't think that this helps at all.  In fact, all that it does is further
> obfuscate the issue.  The issue is that the wording needs to be clear that in
>    sh:shape rdf:type my:Shape .
>    my:subClassOf rdfs:subPropertyOf rdfs:subClassOf.
>    my:Shape my:subClassOf sh:Shape .
> my:Shape is not a SHACL shape, but that in
>    sh:shape rdf:type my:Shape .
>    my:Shape rdfs:subClassOf sh:Shape .
> it is.
> There are many cases where the SHACL notion of subclass, instance, typing,
> etc., diverges from the common definition of these notions.
> peter
> On 03/21/2016 02:05 AM, Dimitris Kontokostas wrote:
>> Hi Peter, I did some research on other w3c specs regarding the term instance.
>> if we changed occurrences of instance from e.g.
>> "shapes are the instances of sh:Shape" to
>> "sh:Shape is the class of all shapes"
>> would this be fine from your side?
>> Some cases like sh:class and sh:classScope would need extra care of course.
>> On Mon, Mar 14, 2016 at 12:24 AM, Peter F. Patel-Schneider
>> < <>> wrote:
>>      Even in this situation I think that "instance" in the rest of the document
>>      needs to be qualified.  Some readers of the document will know about RDFS
>>      instance and will need to be continually reminded that the meaning that they
>>      know for "instance" is not being used in this document.
>>      peter
>> -- 
>> Dimitris Kontokostas
>> Department of Computer Science, University of Leipzig & DBpedia Association
>> Projects:,,
>> http:// <>
>> Homepage:
>> Research Group: AKSW/KILT

Received on Monday, 21 March 2016 22:57:05 UTC