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

Add import/export capabilities to ShEx #48

labra opened this issue Mar 8, 2017 · 2 comments


None yet
2 participants
Copy link

commented Mar 8, 2017

When defining large schemas it may be necessary to have some mechanism to import shapes from other schemas.

Currently, ShEx contains the shapeExternal mechanism to reference a shape by an IRI and let the ShEx processor search that shape in some external place.

The definition of shapeExternal is quite minimalistic:

an external shape (ShapeExternal) is an extension mechanism to externally define e.g. functional shapes or prohibitively large value sets.

whose semantic is defined as:

Se is a ShapeExternal and implementation-specific mechansims not defined in this specification indicate success.

Although this minimalistic definition can be good to avoid over-specification, we may consider adding a more general import/export mechanism to ShEx similar where one can:

  • Declare from a ShEx schema that he wants to import the shapes declared in another ShEx schema
  • Declare in a ShEx schema shapes that can be exported

If we were using RDF syntax for ShEx, one possibility would be to reuse owl:imports declarations although I think it would not be a good idea to mix another vocabulary here.

This concern about importing and modularizing ShEx declarations appears in practice. For example, in this question by @andrawaag in gitter

@labra labra added this to the 2.1 milestone Mar 8, 2017


This comment has been minimized.

Copy link

commented Nov 23, 2018

It is our belief that the semantics in ShEx 2.1 §5.6 ShEx Import address this. Please close this issue if you agree.


This comment has been minimized.

Copy link
Contributor Author

commented Nov 23, 2018

I close the issue as the import declaration addresses it

@labra labra closed this Nov 23, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.