Re: comments on current version of SHACL document

On 9/18/15 6:43 PM, Dimitris Kontokostas wrote:
>
>         - The description of the various bits of property constraints
>         obscures the
>            independence of some of the bits.  For example, splitting
>         sh:minCount and
>            sh:maxCount would eliminate talk about defaults.
>
>
>     I mainly mentioned the default value of sh:minCount to clarify it,
>     because we had discussed in the past that ShEx uses 1 as default.
>     min and maxCount are grouped together because the computation of
>     counts is a potentially expensive operation and shouldn't be done
>     twice. You might say this is an implementation detail, but in
>     order to be able to apply this optimization, they need to be in
>     the same template and thus SPARQL query. I think there should be
>     strong reasons if we want to deviate from the template mapping.
>     Eliminating the talk about defaults doesn't strike me as a strong
>     reason. (Another small difference is that the number of results
>     may be different if we split them up. Right now there will always
>     only be one constraint violation, even if both are violated, due
>     to a modeling error).
>
>
> If the grouping here is meant to enforce it on the implementations 
> then I am also not in favor of it.
> The most common uses cases (0,1, no value) can be translated to a lot 
> less complex queries and greater optimization can be achieved in those 
> cases

No, this part of the spec is only about specifying the behavior without 
prescribing an implementation. It is largely an editorial question. We 
could indeed split them up, which would affect minCount/maxCount, 
minLength/maxLength and qualifiedMinCount/qualifiedMaxCount. It just 
feels like unnecessary bloat to me, and even for the examples it looks 
more natural to combine them.

Holger

Received on Friday, 18 September 2015 23:06:37 UTC