ShEx
Shape Expressions (ShEx) est un langage pour valider et décrire des données selon le modèle Resource Description Framework (RDF).

Il a été proposé lors de l'atelier de validation RDF 2012 comme un langage concis et de haut niveau pour la validation de RDF.

Le ShEx peut être définie dans une syntaxe compacte conviviale appelée ShExC ou à l'aide de tout format de sérialisation RDF comme JSON-LD ou Turtle.

Le ShEx peut être utilisées à la fois pour décrire RDF et pour vérifier automatiquement la conformité des données RDF. La syntaxe de ShEx est similaire à Turtle et SPARQL tandis que la sémantique est inspirée des langages d'expression régulière comme Relax NG.

Exemple 
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 * ;
}

Cet exemple indique que les nœuds conformes à la forme Person doivent avoir :
 exactement une propriété schema:name avec une valeur de chaîne xsd:string,
 zéro ou plusieurs (*) propriétés schema:knows dont les valeurs doivent être conformes à la forme Person.

Implémentations 
 shex.js : JavaScript
 shaclex : bibliothèque Scala avec support pour Jena (framework) et RDF4J
 PyShEx : Python
 shexjava : Java
 Ruby ShEx : Ruby
 ShEx.ex : Élixir

Aires de jeux et démos en ligne 
 ShExSimple : Démo en ligne basée sur shex.js
 rdfshape : démo en ligne basée sur shaclex

Références

Bibliographie 
 Spécifications

Voir également 
 SHACL
 Wikidata

Web sémantique
Langage de modélisation de données
Standard du web