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.
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 :
schema:name avec une valeur de chaîne xsd:string,schema:knows dont les valeurs doivent être conformes à la forme Person.