Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow direct shapeExpression aliases #88

Open
ericprud opened this issue Sep 20, 2018 · 1 comment
Open

Allow direct shapeExpression aliases #88

ericprud opened this issue Sep 20, 2018 · 1 comment
Milestone

Comments

@ericprud
Copy link
Contributor

ericprud commented Sep 20, 2018

The ShEx 2.0 grammar included a construct to prevent a shapeExpression label from referring directly to another shapeExpression label, e.g.

<S1> @<S2>

The construct in question:

[10] shapeExpression ::= "NOT"? shapeAtomNoRef shapeOr?
                       | "NOT" shapeRef shapeOr?
                       | shapeRef shapeOr
[12] shapeOr         ::= ("OR" shapeAnd)+
                       | ("AND" shapeNot)+ ("OR" shapeAnd)*

These patches remove that restriction:

PROPOSE: accept this [pending] change for ShEx 2.1

ericprud pushed a commit to shexjs/shex.js that referenced this issue Sep 21, 2018
ericprud pushed a commit to shexjs/shex.js that referenced this issue Sep 21, 2018
ericprud pushed a commit to shexSpec/spec that referenced this issue Sep 21, 2018
@ericprud ericprud added this to the 2.next milestone Sep 27, 2018
ericprud pushed a commit to shexSpec/shexTest that referenced this issue Oct 3, 2018
@ericprud
Copy link
Contributor Author

ericprud commented Oct 3, 2018

Note also that if we wanted to allow annotations/semActs on start rules without this change, we can't se shapeExpression directly:

- [6] | start | ::= | "start" '=' inlineShapeExpression
+ [6] | start | ::= | "start" '=' shapeAnd ("OR" shapeAnd)*

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant