Re: [spec] Add the possibility to define top-level shape declarations (#50)

The 2.2 version removes all the labeled* shapeExprs (and therefor has a simpler API):
``` antlr
Schema           {
  "@context":"http://www.w3.org/ns/shex.jsonld"?
  imports:[IRIREF+]?
  startActs:[SemAct+]? start:shapeExprOrRef? shapes:[ShapeDecl+]?
 }
ShapeDecl        { type:"ShapeDecl" id:shapeExprLabel abstract:BOOL? specializes:[IRIREF+]? shapeExpr:shapeExpr }

# Shape Expressions
shapeExpr        = ShapeOr | ShapeAnd | ShapeNot | NodeConstraint | Shape;
shapeExprOrRef   = shapeExpr | shapeExprRef;
ShapeOr          { shapeExprs:[shapeExprOrRef{2,}] }
ShapeAnd         { shapeExprs:[shapeExprOrRef{2,}] }
ShapeNot         { shapeExpr:shapeExprOrRef }
shapeExprRef     = shapeExprLabel ;
shapeExprLabel   = IRIREF | BNODE ;
NodeConstraint   { nodeKind:("iri"|"bnode"|"nonliteral"|"literal")? datatype:IRIREF? xsFacet* values:[valueSetValue+]? }
```

-- 
GitHub Notification of comment by ericprud
Please view or discuss this issue at https://github.com/shexSpec/spec/issues/50#issuecomment-1152139620 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 10 June 2022 08:59:42 UTC