- From: RDF Data Shapes Working Group Issue Tracker <sysbot+tracker@w3.org>
- Date: Mon, 01 Jun 2015 14:27:14 +0000
- To: public-data-shapes-wg@w3.org
shapes-ISSUE-65 (shapes, scopes, and constraints): A consistent and cohesive definition of shapes, scopes, and constraints [SHACL Spec]
http://www.w3.org/2014/data-shapes/track/issues/65
Raised by: Peter Patel-Schneider
On product: SHACL Spec
The current version of the Shapes Constraint Language (SHACL) document, at
https://w3c.github.io/data-shapes/shacl/, does not have a clear definition of a shape, a scope, or a constraint.
Here are some things that the document says about shapes, scopes, and constraints:
Shape
WRONG - "describes a group of constraints with the same focus node"
WRONG - "is a group of constraints that have the same focus node"
- Ignores scope aspect of shapes.
- Misleading about the role of a focus node.
Closed Shape
? - closed shape as one of the "other shape-based constraints"
- Is closed shape a constraint?
Scope
AMBIGUOUS - "pre-conditions that must hold before a constraint is applied to
a given focus node"
- No notion of constraint application defined in document.
- Scope is used on both shapes and constraints.
Class Scope -
AMBIGUOUS - "apply to all instances of these linked classes"
- What is an instance of a class?
Constraint
WRONG - "a condition that can be validated against a graph"
WRONG - "defines restrictions on the structure of an RDF graph"
- Most constraints are validated against a graph and a node in the graph.
WRONG - "evaluated against a focus node"
- Not for global constraints.
Global Constraint
- Different from other constraints as they don't have a real scope.
I propose that shapes, scopes, and constraints be given a firm and clear structure, along the lines of:
A shape has either a query or a scope, a set of constraints, and whether or not the shape is closed.
A scope picks out some of the nodes in an RDF graph for validation against the constraints of the shape.
A constraint forms a condition that a node in an RDF graph must satisfy to satisfy the constraint.
Received on Monday, 1 June 2015 14:27:15 UTC