- From: Holger Knublauch <holger@topquadrant.com>
- Date: Thu, 19 Jan 2017 10:53:20 +1000
- To: public-data-shapes-wg@w3.org
On 13/01/2017 19:12, Eric Prud'hommeaux wrote: > The point of the partitioning strategy was to provide a consistent > interface regardless of whether properties were mentioned one or more > time, within blocks of arbitrary cardinality. > > Point 2 below can be illustrated with: > > <PersonShape> { > foaf:name xsd:string > | > (foaf:givenName xsd:string; > foaf:familyName xsd:string) # ()s included for clarity > } > > The goal of partitioning is to accept data that fulfills exactly one disjunct: > { <A> foaf:name "Bob Smith" } > > { <B> foaf:givenName "Bob"; > foaf:familyName "Smith" } > > and reject data that doesn't fit squarely into one or the other disjunct: > > { <C> foaf:name "Bob Smith"; > foaf:givenName "Bob" } > > { <D> foaf:name "Bob Smith"; > foaf:givenName "Bob"; > foaf:familyName "Smith" } Eric, would it make the mapping between ShEx and SHACL easier if we re-introduce sh:xor that we had in earlier drafts? Holger
Received on Thursday, 19 January 2017 00:53:58 UTC