-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Shapes are important to describe business objects (entities) in RDF, see #63.
There are several shape or shape-like languages:
- SHACL
- ShEx
- JSONLD Frames
- GraphQL
Note: there are other RDF Shape languages (eg OSLC Shapes and DCAP profiles) but they were sort of subsubmed during the Shapes WG effort, and the outcome was SHACL and ShEx.
Each of these shape languages has its adherents and users, each has some strengths and weaknesses. It will be very useful for the community if some conceptual or technical mappings were created between the shape languages. This can help efforts such as:
- using shapes in one language to generate artefacts in another language, thus serving a different set of APIs and another user population. Eg from SHACL to JSONLD Frames
- converting shape libraries between languages
- generating shapes from editing tools or simpler representations
- shape visualizations
By no means am I claiming that shape languages are equivalent or have the same strength, or that lossless mappings are possible in all cases. This is not meant to spark a religious war.
Exploring the detailed correspondences between these technologies can be very interesting and fruitful. Not least because it can suggest extensions to some of the languages.
There are multi-shape implementations (Shaclex) that I believe have a lot to contribute to this discussion.
cc @HolgerKnublauch @ericprud @jimkont @labra @azaroth42 @gkellogg @msporny