- From: Arthur Ryman <arthur.ryman@gmail.com>
- Date: Thu, 5 Nov 2015 12:03:26 -0500
- To: Holger Knublauch <holger@topquadrant.com>
- Cc: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
Holger, Wouldn't it be more orthogonal if there was no relation between sh:constraint, sh:property, and sh:inverseProperty? Each of these properties has different semantics for what they apply their node constraints to. 1. sh:constraint applies node constraints directly to the singleton set that contains just the current focus node. 2. sh:property applies node constraints to the set of nodes that are objects of triples that have the current focus node as subject and the value of sh:predicate as the predicate. 3. sh:inverseProperty applies node constraints to the set of nodes that are subjects of triples that have the current focus node as object and the value of sh:predicate as the predicate. -- Arthur On Wed, Nov 4, 2015 at 6:32 PM, Holger Knublauch <holger@topquadrant.com> wrote: > On 11/5/2015 9:27, Peter F. Patel-Schneider wrote: >> >> On 11/04/2015 03:24 PM, Holger Knublauch wrote: >> [...] >>> >>> This is correct, as long you add an rdf:type triple, which your example >>> didn't. >>> >>> The following would be legal: >>> >>> sh:constraint [ >>> a sh:PropertyConstraint ; >>> sh:class ex:c ; >>> sh:predicate ex:p >>> ] >>> >>> However, even then sh:PropertyConstraint cannot have sh:not, which is >>> limited >>> to sh:NodeConstraint. >>> >>> Holger >>> >> So >> >> sh:constraint [ >> a sh:PropertyConstraint ; >> a sh:NodeConstraint ; >> sh:class ex:c ; >> sh:predicate ex:p; >> sh:not [...] >> ] >> >> is OK? > > > Yes, although at evaluation time there is no relationship between the sh:not > and the property constraints. So this is not a case we would want to promote > or encourage. > > Holger > >
Received on Thursday, 5 November 2015 17:04:01 UTC