Re: shapes-ISSUE-117 (non-classes as classes): sh:class should not require that its objects be known to be instances of rdfs:Class [SHACL - Core]

On 20/01/2016 5:37 AM, Arthur Ryman wrote:
> I can see some benefit for the SHACL processor reporting a warning if
> the object of sh:class cannot be recognized as a class based on the
> shapes graph. This may catch simple typos.

+1 not just typos but also to drive input tools and to communicate the 
intent. And whether someone wants to validate the shape definitions or 
not is a choice - there is nothing in the spec that says that a shapes 
graph must validate OK prior to validating the data. In any case, we 
could possibly downgrade the severity of the constraint "the values of 
sh:class must be classes" to sh:Warning. This would be an implementation 
detail of the shacl.shacl file.

Holger


>
> However, the data graph is certainly allowed to use any resource as if
> it were a class without explicitly declaring it to be a class.
>
> -- Arthur
>
> On Mon, Jan 11, 2016 at 9:52 AM, RDF Data Shapes Working Group Issue
> Tracker <sysbot+tracker@w3.org> wrote:
>> shapes-ISSUE-117 (non-classes as classes): sh:class should not require that its objects be known to be instances of rdfs:Class [SHACL - Core]
>>
>> http://www.w3.org/2014/data-shapes/track/issues/117
>>
>> Raised by: Peter Patel-Schneider
>> On product: SHACL - Core
>>
>> Currently the spec says:
>>
>> The property sh:class can be used to verify that each value of the given property is an instance of a given type. The values of sh:class must be classes (instances of rdfs:Class).
>>
>> In Holger's implementation this is checked in conjunction with the data graph, meaning that a SHACL shape's syntactic correctness depends on the data graph.
>>
>> Instead, objects sh:class triples should not need to be instances of rdfs:Class.  This means that the shape
>>
>> [ rdf:type sh:Shape; sh:scopeClass pp:Person ]
>>
>> should be syntactically correct.
>>
>>
>>

Received on Wednesday, 20 January 2016 01:14:58 UTC