Re: type and instance and subclass in SHACL documents

The definition of SHACL depends on "instannce".  This can be read to mean
"RDFS instance" or "SHACL instance".  Under the former meaning the data graph
does not validate against the shape.   Under the latter meaning the data graph
does validate against the shape.

peter


On 03/11/2016 02:15 PM, Irene Polikoff wrote:
> I don¹t understand what you mean by
> 
> "validates against this shape under SHACL instance but not under RDFS
> instance.²
> 
> I am not able to parse the sentence.
> 
> What are you doing? Taking a shape described and the graph described and
> running it against SHACL engine? What execution validates and what
> execution doesn¹t validate?
> 
> 
> 
> Irene 
> 
> 
> 
> On 3/11/16, 5:03 PM, "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
> wrote:
> 
>> On 03/11/2016 01:01 PM, Karen Coyle wrote:
>>>
>>>
>>> On 3/11/16 11:43 AM, Peter F. Patel-Schneider wrote:
>>>> Consider the following shape (using obvious prefix declarations)
>>>>
>>>> sh:propertyShape a sh:Shape ;
>>>>   sh:scopeClass rdf:Property ;
>>>>   sh:property [ sh:predicate rdfs:label ;
>>>>                 sh:minCount 1 ] .
>>>>
>>>> The data graph (using obvious prefix declarations)
>>>>
>>>> rdfs:range ex:label "range" .
>>>>
>>>> validates against this shape under SHACL instance but not under RDFS
>>>> instance.
>>>
>>> Isn't this a problem with every vocabulary and not just RDFS? If the
>>> rules of
>>> the vocabulary (such as domain and range) are not encoded as such in
>>> SHACL
>>> then the SHACL result can be "in violation" of the vocabulary
>>> definition.
>>>
>>> Now, if that is the case then I understand that violating the foundation
>>> vocabulary of RDF/RDFS may be more grave than violating a user-developed
>>> vocabulary, and in some cases doing the latter may indeed be the
>>> intention of
>>> the SHACL definition. So do we want to build into SHACL that it must
>>> follow
>>> RDF/RDFS property and class definitions? And how feasible is that?
>>>
>>> kc
>>>
>>
>> This is only a real problem because SHACL uses "instance" in its
>> specification, this term is also used centrally in RDFS, and SHACL uses
>> RDFS
>> vocabulary.
>>
>> The question then is how to read "instance" in SHACL documentation, i.e.,
>> how
>> to prevent readers of the SHACL documentation from seeing "RDFS instance"
>> where "SHACL instance" is meant.
>>
>>
>> peter
>>
> 
> 

Received on Friday, 11 March 2016 22:22:38 UTC