- 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