Removed ShapeExternal from shapeExpr so you can't have EXTERNAL inside an e.g. ShapeAnd
Removed IDs from shapeExprs and created a ShapeDecl: id:shapeExprLabel abstract:BOOL shapeExpr:shapeExpr | ShapeExternal
Validation Definition includes satisfiesDescendant.
Semantics starts with a calculation of nestedShapes.
Definition of Satisfies is followed by an example of inheritance.
Fixed typos in JSG for {Iri,Literal,Language}StemRange and associated ShExC grammar.
Clarified representation of BCP47 language range wildcard ("*").
5.5.2 Shape Expression Semantics leads with definition of getEffectiveTEs.
Definition of matchesShape introduces (and uses) slices
returned from getEffectiveTEs()
with this diff:
- * neigh(G, n) can be partitioned into two sets matched and remainder such that matches(matched, expression, m). If expression is absent, remainder = neigh(G, n).
+ * slices is the concatenation of getEffectiveTEs for each label in parentShapeLabels(s).
+ * nCard is the length of slices.
+ * neigh(G, n) can be partitioned into two sets matched and remainder and matched is partitioned into nCard partitions pi such that matches(pi, slicesi, m). If nCard is 0, remainder = neigh(G, n).
@@REVISIT after Iovka reviews 5.5.2.1@@ 5.5.2.1 Definition of the maximal typing includes …
IMPORT EXAMPLE 2 - CIRCULAR IMPORT includes a duplicate IMPORT
Added shapeExprRef non-abstract shape requirement
Added 5.7.6 Acyclic Extension Requirement
Added 5.7.7 Extension Coherence
Updated shapeExprDecl grammar to include special case for "EXTERNAL".
Updated shapeRef grammar to include "EXACTLY".
Aligned PN_LOCAL grammar with SPARQL/Turtle.