Skip to content

Mappings between shape languages #64

@VladimirAlexiev

Description

@VladimirAlexiev

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions