Shape Expressions
# Shape Expressions

Shape Expressions (ShEx) es un lenguaje para validar y describir conjuntos de datos RDF. Fue desarrollado con el objetivo de proporcionar una sintaxis legible por humanos para OSCL Resource Shapes.

El lenguaje fue descrito en la ponencia Shape expressions: an RDF validation and transformation language, publicada en Proceedings of the 10th International Conference on Semantic Systems, SEMANTICS 2014. En junio de 2014 el lenguaje fue presentado como parte del W3C. El W3C Data Shapes Working Group comenzó en septiembre de 2015. No tardó mucho en que el grupo se subdividiese otros dos: el dedicado a ShEx y el de SHACL. En 2016, el ala ShEx formó el ShEx Community Group. En abril de 2017 liberó ShEx 2 con un manual básico ―primer―, la especificación semántica y suite de pruebas con implementación de reportes.

En ShEx coexisten diferentes formatos de serialización: ShExC, una sintaxis compacta y amigable; ShExJ, una sintaxis abstracta basada en JSON-LD; y ShExR, una representación RDF derivada de la sintaxis de JSON-LD.

Las expresiones ShEx pueden ser utilizadas tanto para describir datos RDF como para comprobar automáticamente la conformidad de los datos. La sintaxis de ShEx es similar a Turtle y SPARQL, mientras que la semántica está inspirada por lenguajes de expresiones regulares como RelaxNG.

## Ejemplo

En el ejemplo anterior se declara que los nodos que conformen una Persona deben tener la propiedad schema:name con una valor del tipo cadena y una o más propiedades schema:knows con un valor que corresponda con una Persona.

