- From: Arnaud Le Hors <lehors@us.ibm.com>
- Date: Thu, 3 Mar 2016 15:22:23 -0800
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
- Cc: public-data-shapes-wg@w3.org
- Message-Id: <201603032322.u23NMVr7020251@d03av04.boulder.ibm.com>
Ah ok, I found where the restriction comes from in the spec: http://w3c.github.io/data-shapes/shacl/#constraints-property Section 3.1 Property Constraints (sh:property) "None of these properties can be repeated within the same sh:PropertyConstraint. In order to define multiple constraints using the same property, such as multiple sh:hasValue constraints, the shape must use multiple sh:property definitions." Thanks. -- Arnaud Le Hors - Senior Technical Staff Member, Open Web Technologies - IBM Software Group "Peter F. Patel-Schneider" <pfpschneider@gmail.com> wrote on 03/03/2016 02:45:54 PM: > From: "Peter F. Patel-Schneider" <pfpschneider@gmail.com> > To: Arnaud Le Hors/Cupertino/IBM@IBMUS > Cc: kcoyle@kcoyle.net, public-data-shapes-wg@w3.org > Date: 03/03/2016 02:46 PM > Subject: Re: SHACL syntax and metamodel complexity > > On 03/03/2016 01:42 PM, Arnaud Le Hors wrote: > > "Peter F. Patel-Schneider" <pfpschneider@gmail.com> wrote on 03/03/2016 > > 12:14:55 PM: > > > >> From: "Peter F. Patel-Schneider" <pfpschneider@gmail.com> > >> To: kcoyle@kcoyle.net, public-data-shapes-wg@w3.org > >> Date: 03/03/2016 12:16 PM > >> Subject: Re: SHACL syntax and metamodel complexity > >> > >> On 03/01/2016 09:20 PM, Karen Coyle wrote: > >> > > >> > > >> > On 3/1/16 10:11 AM, Peter F. Patel-Schneider wrote: > >> >> in a simple extension of the current SHACL RDF syntax this would be > >> >> > >> >> [ a sh:propertyConstraint ; > >> >> sh:predicate ex:p ; > >> >> sh:minCount 1 ; > >> >> sh:class ex:c ; > >> >> sh:maxCount 5 ; > >> >> sh:class ex:d ; > >> >> sh:minCount 3 ] > >> > > >> > Doesn't this require that there be order among the triples? > >> Otherwise, how do > >> > the two minCount's apply to the correct sh:Class triple? > >> > > >> > kc > >> > >> No. This is not a qualified cardinality. What this says is that > >> there is at least one value for ex:p, that all values for ex:p > belong to ex:c, > >> that there are at most 5 values for ex:p, that all values for > ex:p belong to > >> ex:d, and that there are at least three values for ex:p. > > > > Ok, but the two minCounts are confusing. The first one (sh:minCount 1) is > > essentially overridden by the second (sh:minCount 3), right? So, why did you > > choose to have them both? What's the significance? > > -- > > Arnaud Le Hors - Senior Technical Staff Member, Open Web Technologies - IBM > > Software Group > > Right now, the SHACL syntax does not allow multiple minCounts, or multiple > sh:class, or multiple anything. Multiple minCounts are not useful. Multiple > sh:class values are, however, and I view this as something that is going to be > a pain point. > > Why are multiple sh:class values not allowed? Well, multiples are hard to > deal with if they are like the current design of qualified cardinality, where > there are two property values that need to be combined. So to permit the > useful multiples one has to find a way to get around the combinations. > > The combinations are also problematic from a syntax viewpoint, as it may be > hard to see the combination. Thus my proposal is to refactor these syntactic > constructs. The result allows for repetition where useful and permits it even > when it is not (very) useful. Will users ever have multiple minCounts (on > purpose)? Probably not, but forbidding them doesn't seem like a good idea. > > peter >
Received on Thursday, 3 March 2016 23:23:06 UTC