- 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>
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