Re: SHACL syntax and metamodel complexity

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