- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 3 Mar 2016 16:10:33 -0800
- To: Holger Knublauch <holger@topquadrant.com>, public-data-shapes-wg@w3.org
On 03/03/2016 03:50 PM, Holger Knublauch wrote:
> On 4/03/2016 9:29, Peter F. Patel-Schneider wrote:
>> This wording is extremely confused. It is possible to have multiple
>> constraint components on the same property in one component, such as a
>> minCount and a class. The confusion comes from using "property" for two
>> different things.
>
> I have replaced the second use of "property" with "predicate" to make this
> clearer.
>
> In your approach, if you have multiple sh:class values, are they being
> interpreted as AND or OR?
These would be conjuctive, of course, just as a sh:class and an sh:minCount
would be conjunctive.
> Note that in either case this multi-occurrence within the same property
> constraint causes a serious limitation by disallowing constraint types that
> have multiple parameters such as sh:pattern/sh:flags. I guess that's one
> reason why you (silently) dropped the extension mechanism, because this would
> quickly expose this limitation as another show stopper.
>
> Holger
Not at all.
First, constraint types that have multiple parameters are a horrible syntax.
It is too easy to have the two parameters separated. It is too easy to
consider the parameter values in isolation.
Instead, constructs that need more than a single item of information (like
sh:pattern) can take structured piece of information. This can either be a
list or a node that itself has multiple properties. So, patterns with flags
can be specified as
sh:pattern ("a*b*" "i")
The same approaches work for templates.
peter
Received on Friday, 4 March 2016 00:11:14 UTC