- 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