- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Wed, 9 Sep 2015 04:56:52 -0700
- To: Holger Knublauch <holger@topquadrant.com>, public-data-shapes-wg@w3.org
Hmm. I think that that I have a glitch in the "not disjoint" bit. I'll think about it a bit and come up with a new version. peter On 09/09/2015 04:03 AM, Holger Knublauch wrote: > > > On 9/9/15 8:50 PM, Peter F. Patel-Schneider wrote: >> We want a shape that is satisfied (i.e., not violated) by nodes that have >> between nc and mc values (including unbounded) for ex:p that satisfy shape C >> and between nb and mb values (including unbounded) for ex:p that satisfy >> shape B and no other values for ex:p. Further there are no nodes that can >> satisfy both C and B. >> >> This can be done with the following SHACL shape: >> >> S rdf:type sh:Shape ; >> sh:property [ sh:predicate ex:p ; >> sh:qualifiedValueShape C ; >> sh:qualifiedMinCount nc ; >> sh:qualifiedMaxCount mc ] ; >> sh:property [ sh:predicate ex:p ; >> sh:qualifiedValueShape B ; >> sh:qualifiedMinCount nb ; >> sh:qualifiedMaxCount mb ] ; >> sh:property [ sh:predicate ex:p ; >> sh:valueShape [ rdf:type sh:Shape ; >> sh:constraint [ rdf:type sh:OrConstraint ; >> sh:shapes ( C B ) ] ] ] . >> >> If the "no other values for ex:p" is not wanted, then the last constraint is >> removed. >> >> If C and B are not disjoint, then the constraint >> >> sh:property [ sh:predicate ex:p ; >> sh:valueShape [ rdf:type sh:Shape ; >> sh:constraint [ rdf:type sh:AndConstraint ; >> sh:shapes ( C B ) ] ] ; >> sh:maxCount 0 ] > > Did you mean sh:qualifiedMaxCount here? Above, the sh:valueShape and > sh:maxCount are independent, and maxCount will overrule the other constraint. > > Holger > > >> >> is added. >> >> NB: None of this has been checked against a SHACL implementation, so the >> syntax might not be completely correct. >> >> >> >> peter >> > >
Received on Wednesday, 9 September 2015 11:57:21 UTC