- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 19 Nov 2015 11:26:45 -0800
- To: Arthur Ryman <arthur.ryman@gmail.com>, "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
Oops, I missed the qualified stuff in Arthur's proposal, so ignore the bit
about that.
peter
On 11/19/2015 11:05 AM, Peter F. Patel-Schneider wrote:
> The cleanup of SHACL constraints could be something like:
>
> - A constraint is either a node constraint or a global constraint.
>
> - A node constraint is something that is true or false of nodes in a graph.
> Node constraints can be just about anything, including SPARQL-based
> constraints. Node constraints include boolean constructs and closed
> versions of constraints.
>
> - Node constraints include property-path constraints. A property-path
> constraint contains a property path, perhaps some cardinality
> constraints, and perhaps some node constraints.
> - For example "at least 5 children and all male" or "all inverse of
> children are people" are property-path constraints.
> - Cardinality constraints are "at least n" or "at most n" or qualified
> versions of these, e.g., "at least 5 are male", which contain a
> cardinality and a node constraint.
> a qualified cardinality constraint here ("at least 1 x is y").
> - A property-path constraint is evaluated on a node by finding the set of
> values of the property path from the node, checking to see if this set
> satisfies the cardinality constraints and then checking to see if the
> values each satisfy each of the node constraints.
> - A set of values satisfies an unqualified cardinality constraint
> depending only on the size of the set. A set of values satisfies a
> qualified cardinality constraint if the subset of the values that
> satisfy the node constraint satisfy the cardinality.
>
> - A global constraint is something that is true or false of a graph as a
> whole. All (current) global constraints are SPARQL-based.
>
> A SHACL shape is then just a node constraint. Shapes tend to be named, and
> used as targets of scoping (control) triples.
>
>
> The difference between this goes beyond Arthur's to cover qualified
> cardinalities, which don't fit into Arthur's setup; closure; and global
> constraints.
>
>
> The difference between node constraints and ShEx is that ShEx distinguishes
> between node constraints (Shape Expressions) and shapes (combination of
> Label and Shape Definition).
>
>
>
> peter
>
Received on Thursday, 19 November 2015 19:27:30 UTC