SHACL - SHACL
| Forms begrænsningssprog | |
| Status | W3C-anbefaling |
|---|---|
| Året startede | 2015 |
| Først offentliggjort | 8. oktober 2015 |
| Organisation | W3C |
| Redaktører | |
| Grundlæggende standarder | |
| Relaterede standarder | |
| Domæne | Semantisk web |
| Forkortelse | SHACL |
| Internet side | www |
Shapes Constraint Language ( SHACL ) er en W3C- specifikation ( World Wide Web Consortium ) til validering af grafbaserede data i forhold til et sæt betingelser. Blandt andet inkluderer SHACL funktioner til at udtrykke betingelser, der begrænser antallet af værdier, som en egenskab kan have, typen af sådanne værdier, numeriske områder, strengmatchemønstre og logiske kombinationer af sådanne begrænsninger. SHACL inkluderer også en udvidelsesmekanisme til at udtrykke mere komplekse forhold på sprog som SPARQL .
En SHACL-valideringsmotor tager som input en datagraf og en graf indeholdende figurerklæringer og producerer en valideringsrapport, der kan forbruges af værktøjer. Alle disse grafer kan repræsenteres i alle Resource Description Framework (RDF) -serialiseringsformater inklusive JSON-LD eller Turtle . Vedtagelsen af SHACL kan påvirke fremtiden for sammenkædede data .
World Wide Web Consortium offentliggjorde følgende SHACL-specifikationer:
- SHACL (W3C Technical Recommendation) er hoveddokumentet, der definerer funktionerne i SHACL Core og dens udvidelsesmekanisme kaldet SHACL-SPARQL. SHACL Core definerer den grundlæggende syntaks og struktur af former, begrænsninger, de indbyggede slags begrænsninger, og hvordan man forbinder figurer til datanoder. SHACL-SPARQL definerer, hvordan man udtrykker begrænsninger, der ikke er dækket af de indbyggede begrænsningstyper.
- SHACL Advanced Features (W3C Working Group Note), hvis seneste version er vedligeholdt af SHACL Community Group, definerer understøttelse af SHACL-regler, en kraftfuld funktion (inspireret af SPIN-regler) til datatransformationer, slutninger og kortlægninger baseret på dataformer. Omfatter også udvidelser af SHACL-SPARQL såsom brugerdefinerede funktioner.
- SHACL JavaScript Extensions (W3C Working Group Note) definerer, hvordan JavaScript kan bruges til at udtrykke begrænsninger, regler, funktioner og andre funktioner. Dette dækker lignende grund som SHACL-SPARQL, men bruger JavaScript som eksekveringssprog.
- SHACL Compact Syntax (SHACL Community Group Report).
Open source-værktøjer
Den SHACL Test Suite og gennemførelsesrapporten linkes til fra de SHACL W3C specifikation lister nogle open source-værktøjer, der kunne bruges til SHACL validering i juni 2019. Ved udgangen af 2019 mange kommercielle RO database og rammebetingelser leverandører bebudet støtte i mindst SHACL Core .
Nogle af de open source-værktøjer, der er anført i rapporten, er:
- dotNetRDF SHACL - en online SHACL-valideringstjeneste skrevet i .NET Framework
- pySHACL - et open source SHACL-valideringsbibliotek til kommandolinjebrug skrevet i Python
- SHaclEX - en Scala- implementering af både SHACL og ShEx
- TopBraid SHACL API - en open source-implementering af SHACL af TopQuadrant, baseret på Apache Jena. Det dækker SHACL Core og SHACL-SPARQL validering samt SHACL Advanced Features, SHACL Javascript Extension og SHACL Compact Syntax. Den samme kode bruges i TopBraid kommercielle produkter .
SHACL Playground er en gratis SHACL-valideringstjeneste implementeret i JavaScript.
Eclipse rdf4j er en open source Java-ramme af Eclipse Foundation til behandling af RDF-data, som understøtter SHACL-validering.