Shape Expressions (ShEx) is a data modelling language for validating and describing a Resource Description Framework (RDF).

It was proposed at the 2012 RDF Validation Workshop as a high-level, concise language for RDF validation.

ShEx

The shapes can be defined in a human-friendly compact syntax called ShExC or using any RDF serialization formats like JSON-LD or Turtle.

ShEx

ShEx expressions can be used both to describe RDF and to automatically check the conformance of RDF data. The syntax of ShEx is similar to Turtle and SPARQL while the semantics is inspired by regular expression languages like RelaxNG.

ShEx

Example

PREFIX : <http://example.org/>

PREFIX schema: <http://schema.org/>

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

:Person {

schema:name xsd:string ; schema:knows @:Person * ; }

The previous example declares that nodes conforming to shape Person must have one property schema:name with a string value and zero or more properties schema:knows whose values must conform with shape Person.

Implementations

Online playgrounds and demos

ShExSimple: Online demo based on shex.js

rdfshape: online demo based on shaclex

References

Further reading

Specification

Other

See also

SHACL

Wikidata

XML schemas

Resource Description Framework

Data modeling languages

Declarative programming languages

RDF data access

Semantic Web

World Wide Web Consortium standards

SPARQL