ShEx
Vznik | 2013 |
---|---|
Autor | Eric Prud'hommeaux, Iovka Boneva, Jose Emilio Labra Gayo, Gregg Kellogg, Shape Expressions W3C Community Group |
Poslední verze | 2.1 (8. října 2019 | )
Hlavní implementace | shex.js[1], Shaclex[1] |
Ovlivněn jazyky | Turtle, SPARQL, RelaxNG |
Ovlivnil jazyky | SHACL |
Web | www |
Přípona souboru | shex, sx |
Shape Expressions (ShEx) [2] je jazyk pro validaci a popis RDF (anglicky Resource Description Framework).
Byl navržen na RDF Validation Workshop v roce 2012[3] jako výstižný, vyšší jazyk pro validaci RDF.
Tvary (anglicky shape) jazyka lze definovat v kompaktní syntaxi přátelské k lidem s názvem ShExC nebo pomocí libovolných formátů serializace RDF, jako je JSON-LD nebo Turtle.
Výrazy ShEx lze použít jak k popisu RDF, tak k automatické kontrole shody dat RDF. Syntaxe ShEx je podobná Turtle a SPARQL, zatímco sémantika je inspirována jazyky regulárních výrazů, jako je RelaxNG.
Příklad
[editovat | editovat zdroj]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*;
}
Předchozí příklad definuje, že uzly vyhovující tvaru Person
musí mít jednu vlastnost schema:name
s řetězcovou hodnotou a nula nebo více vlastností schema:knows
, vyhovující tvaru Person
.
ShEx na Wikidatech
[editovat | editovat zdroj]19. května 2019 oznámila Léa Lacroix, komunitní projektová manažerka pro Wikidata, že 21. května 2019 se zapíná podpora ShEx na Wikidatech[4][5]. Podpora zahrnuje uživatelsky editovatelné ShEx objekty ve jmenném prostoru EntitySchema
(příklad pro schéma člověka EntitySchema:E10
[6]), MediaWiki extenzi EntitySchema pro ukládání schémat[7] a online validátor ShEx2 — Simple Online Validator[8].
Existují komunitní nástroje pro práci s touto extenzí na Wikidatech jako udělátka EntityShape[9] nebo CheckShex[10].
Implementace
[editovat | editovat zdroj]- shex.js: JavaScript
- shaclex Archivováno 19. 11. 2018 na Wayback Machine.: knihovna v jazyku Scala s podporou pro Jena (framework) a RDF4J
- PyShEx: Python
- shexjava: Java
- Ruby ShEx: Ruby
- ShEx.ex: Elixir
Online stránky pro zkoušení a ukázky
[editovat | editovat zdroj]- ShExSimple: Online demo postavené na shex.js
- rdfshape: online demo based on shaclex Archivováno 19. 11. 2018 na Wayback Machine.
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku ShEx na anglické Wikipedii.
- ↑ a b LABRA GAYO, Jose Emilio; PRUD'HOMMEAUX, Eric; BONEVA, Iovka; KONTOKOSTAS, Dimitris. Validating RDF Data. [s.l.]: Morgan & Claypool, 2018. 328 s. Dostupné online. ISBN 978-1-68173-165-0.
- ↑ http://shex.io/shex-semantics-20170327/
- ↑ https://www.w3.org/2012/12/rdf-val/
- ↑ https://lists.wikimedia.org/pipermail/wikidata/2019-May/013058.html
- ↑ BAKER, Thomas. Wikidata infrastructure supports ShEx [online]. W3C Community & Business Group, 2019-06-18 [cit. 2021-01-23]. Dostupné online.
- ↑ https://www.wikidata.org/wiki/EntitySchema:E10
- ↑ https://www.mediawiki.org/wiki/Extension:EntitySchema
- ↑ https://shex-simple.toolforge.org/wikidata/packages/shex-webapp/doc/shex-simple.html
- ↑ https://www.wikidata.org/wiki/Wikidata:Tools/Enhance_user_interface#EntityShape
- ↑ https://www.wikidata.org/wiki/Wikidata:Tools/Enhance_user_interface#CheckShex
Literatura
[editovat | editovat zdroj]- LABRA GAYO, Jose Emilio; PRUD'HOMMEAUX, Eric; BONEVA, Iovka; KONTOKOSTAS, Dimitris. Validating RDF Data. [s.l.]: Morgan & Claypool, 2018. 328 s. Dostupné online. ISBN 978-1-68173-165-0.