W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > August 2015

Re: shapes-ISSUE-79 (Validation functions): Cleaner separation between value checking and property iteration [SHACL Spec]

From: Simon Steyskal <simon.steyskal@wu.ac.at>
Date: Thu, 13 Aug 2015 08:09:05 +0200
To: Holger Knublauch <holger@topquadrant.com>
Cc: RDF Data Shapes Working Group <public-data-shapes-wg@w3.org>
Message-ID: <5c3b001d6c1881851e8c991cb9cc78ab@wu.ac.at>
Hi!

> The message is defined by the surrounding template, using sh:message.
> I cannot think of other important information that could not be
> generalized.

I thought that the results of the SELECT query were responsible for 
"populating" the sh:message.
In the sense that, if e.g. one wants to specify the node that has 
violated a constraint in the message too, ?this (retrieved from the 
query results) would have to be used.

> (clarification of 2)

thx

cheers,
simon
---
DDipl.-Ing. Simon Steyskal
Institute for Information Business, WU Vienna

www: http://www.steyskal.info/  twitter: @simonsteys

Am 2015-08-13 07:54, schrieb Holger Knublauch:
> On 8/13/2015 15:46, Simon Steyskal wrote:
>> Hi!
>> 
>> At a first glance I definitly see the benefits of your proposed 
>> approach. However, I've two questions:
>> 
>> 1) You've implemented those sh:ValidationFunctions as ASK queries 
>> instead of SELECTs -> don't we lose important information for creating 
>> violation messages (e.g. this (?this AS ?subject) ?predicate ?object 
>> ?datatype).
> 
> The message is defined by the surrounding template, using sh:message.
> I cannot think of other important information that could not be
> generalized.
> 
>> 2) Is there a particular reason why 
>> "sh:AbstractArgumentMaxCountConstraint" isn't using such a validation 
>> function? (Probably because you just wanted to exemplify the approach 
>> on a handful of examples?)
> 
> sh:minCount, sh:maxCount and their equivalents for Arguments work
> differently. The sh:PropertyValueConstraintTemplates all iterate over
> all values and then check each value one by one. Min/max count however
> just look at the total number of values. Also, sh:hasValue is
> different. However, sh:datatype, sh:allowedValues, sh:valueClass,
> sh:directValueType, sh:nodeKind (as well as the misc XSD inspired
> facets) all follow the pattern that I am trying to generalize. So
> anything that uses
> 
> WHERE {
>     ?this ?predicate ?value .
>     doSomeThingWith(?value)
> }
> 
> fits into the scheme.
> 
> Thanks,
> Holger
Received on Thursday, 13 August 2015 06:09:31 UTC

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