<img src="shex-logo.png" align="right" />

# ShEx.ex


An implementation of the [ShEx] specification in Elixir.

It allows to run validations specified in the Shape Expressions language (ShEx) on RDF graphs.

> Shape Expressions (ShEx) is a language for describing RDF graph structures. A ShEx schema prescribes conditions that RDF data graphs must meet in order to be considered "conformant": which subjects, predicates, and objects may appear in a given graph, in what combinations and with what cardinalities and datatypes. 

-- [Shape Expressions (ShEx) Primer](

The validation of larger amounts of nodes is done in parallel.

The API documentation can be found [here]( For a guide and more information about ShEx.ex and it's related projects, go to <>.

## Limitations

- the following ShEx features are not implemented yet:
    - invalid shape expression references in negations are not checked
    - imports
    - external shapes
    - annotations
    - semantic actions
- only the [currently datatypes supported by RDF.ex]( are supported in datatype and numeric facet constraints
- greedy
- non-ascii characters in regular expressions are not fully supported yet

## Consulting and Partnership

If you need help with your Elixir and Linked Data projects, just contact <> or visit <>

## License and Copyright

(c) 2019 Marcel Otto. MIT Licensed, see [LICENSE]( for details.