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. 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 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.
Example
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 (link rot?) rdfshape: online demo based on shaclex Archived 2018-11-19 at the Wayback Machine
References
Further reading
Specification Prud'hommeaux, Eric; Boneva, Iovka; Labra Gayo, Jose Emilio; Kellogg, Gregg, eds. (2018). Shape Expressions Language Specification. W3C Draft Community Group Report. Labra Gayo, Jose Emilio; Prud'hommeaux, Eric; Boneva, Iovka; Kontokostas, Dimitris (2018). Validating RDF Data. Morgan & Claypool.
Other Thornton, Katherine; Solbrig, Harold; Stupp, Gregory S.; Labra Gayo, Jose Emilio; Mietchen, Daniel; Prud'hommeaux, Eric; Waagmeester, Andra (2018-04-07). "Using Shape Expressions (Shex) To Share Rdf Data Models And To Guide Curation With Rigorous Validation". Zenodo. doi:10.5281/ZENODO.1214521. Katherine, Thornton. "Using ShEx to Investigate Data about Software and File Formats in Wikidata | Software Preservation Network (SPN)". www.softwarepreservationnetwork.org. Retrieved 2023-06-24.
See also SHACL Wikidata XML schemas


