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.
| Formats | |
|---|---|
| Date de création | |
| Site web |
Shape Expressions (ShEx)[1] 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[2] 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
[modifier | modifier le code]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:nameavec une valeur de chaînexsd:string, - zéro ou plusieurs (*) propriétés
schema:knowsdont les valeurs doivent être conformes à la formePerson.
Implémentations
[modifier | modifier le code]- 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
[modifier | modifier le code]- ShExSimple : Démo en ligne basée sur shex.js
- rdfshape : démo en ligne basée sur shaclex
Notes et références
[modifier | modifier le code]- ↑ (en) « Shape Expressions Language 2.0 », sur shex.io (consulté le 16 avril 2023).
- ↑ (en) « RDF Validation Workshop : Practical Assurances for Quality RDF Data », sur w3.org (consulté le 16 avril 2023).
Bibliographie
[modifier | modifier le code]- Shape Expressions Language Specification, W3C Draft Community Group Report, 2018 (lire en ligne)
- Jose Emilio Labra Gayo, Eric Prud'hommeaux, Iovka Boneva et Dimitris Kontokostas, Validating RDF Data, Morgan & Claypool, 2018 (lire en ligne)
Voir également
[modifier | modifier le code]Liens externes
[modifier | modifier le code]