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

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