- From: Karen Coyle <kcoyle@kcoyle.net>
- Date: Fri, 2 Oct 2015 12:12:41 -0700
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
OK, I checked with some of my peeps, and they all understand what maxCount 0 means, so that's cool. What they don't like, however, is that the only way to declare that maxCount is unlimited is to leave it out of your shape. (And that you CAN declare minCount = minCount default, so this is asymmetrical.) There are concerns about readability, and most would rather make all min/max explicit, especially in shared code. There were also questions about being able to override a previously declared maxCount, but these aren't folks who are familiar with SHACL so I can't say if that situation is likely to occur. There was also some concern about having both a NOT constraint and the possibility of declaring maxCount=0 to mean something similar but possibly not identical. I suppose we could decide that these "friendliness" issues be resolved in the high-level language, or whatever it is that we're calling the ShEx addition to SHACL. kc On 10/2/15 7:32 AM, Peter F. Patel-Schneider wrote: > On 10/02/2015 07:13 AM, Karen Coyle wrote: >> >> >> On 10/2/15 6:00 AM, Peter F. Patel-Schneider wrote: >>> sh:maxCount 0 >>> sh:maxCount -1 >>> according to the definition(s) in 3.1.5. Why single out 0 as needing special >>> treatment as it is in no way special? >> >> >> Because min 0 means that there is no minimum, but max 0 does not mean that >> there is no maximum. Now, that may not be the way it works out mathematically, >> but that's a logical way to say it in words. And I have no idea what should be >> expected with max -n, but if it doesn't lead to a meaningful operation within >> the context of SHACL then a user might expect it to be flagged as an error. >> >> kc > > sh:minCount 0 does mean that there is a minimum. It is just that this minimum > is trivially met. > > sh:minCount and sh:maxCount are two different properties that may be used with > property constraints. They both constrain the number of values of the > property but are otherwise unrelated. There is thus no reason that > sh:minCount 0 and sh:maxCount 0 have to behave in any analogous fashion, > particularly as sh:minCount is more permissive with smaller arguments in > contrast with sh:maxCount which is more constraining with smaller arguments. > > > peter > > > > -- Karen Coyle kcoyle@kcoyle.net http://kcoyle.net m: 1-510-435-8234 skype: kcoylenet/+1-510-984-3600
Received on Friday, 2 October 2015 19:13:12 UTC