W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > April 2016

Re: shapes-ISSUE-123 (DirectType syntax): Shall we unify the syntax of sh:directType and sh:class? [SHACL - Core]

From: Holger Knublauch <holger@topquadrant.com>
Date: Thu, 28 Apr 2016 17:13:57 +1000
To: public-data-shapes-wg@w3.org
Message-ID: <721809e6-34bc-ddff-2813-9b050c6415fa@topquadrant.com>
(The old proposal was based on single-occurrence assumption, which is 
now outdated).

My actual preference is to delete sh:directType altogether. It doesn't 
interact well with inferencing anyway, and a simple work-around is to 
use sh:valueShape on rdf:type with sh:hasValue ?directType.


On 28/04/2016 17:09, Peter F. Patel-Schneider wrote:
> This would have the effect of disallowing repeated sh:class so I think that
> this would be a step backward.
> Even without this problem the proposal just adds a hard-to-describe and
> hard-to-use optional parameter.  I don't see this as an advance.
> peter
> On 02/28/2016 03:29 PM, RDF Data Shapes Working Group Issue Tracker wrote:
>> shapes-ISSUE-123 (DirectType syntax): Shall we unify the syntax of sh:directType and sh:class? [SHACL - Core]
>> http://www.w3.org/2014/data-shapes/track/issues/123
>> Raised by: Holger Knublauch
>> On product: SHACL - Core
>> The spec currently has sh:directType as a way to limit values to have the specified rdf:type only. In contrast to sh:class this will not walk into subclasses of that class.
>> One issue here is that we currently have sh:classIn (for multiple classes) but no sh:directTypeIn.
>> Another issue is that the distinction between sh:class and sh:directType is fairly small, and basically meaningless if inferencing has been activated.
>> I think we should consider changing the syntax so that it becomes
>> ex:MyShape
>>      sh:property [
>>          sh:predicate ex:myProperty ;
>>          sh:class ex:Person ;
>>          sh:excludeSubclasses true ;
>>      ] .
>> The sh:excludeSubclasses would serve as a flag to not walk into subclasses. It would also work for sh:classIn, solving the first issue without introducing yet another core construct.
Received on Thursday, 28 April 2016 07:14:30 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:31 UTC