SHACL
SHACL is the W3C Recommendation for validating RDF data. That's why we have decided to provide some features that would help SHACL developers do some typical workflows.
The SHACL command can be used to obtain information about a SHACL shapes graph.
Assuming that a file simple_shacl.ttl
contains the following data:
@prefix : <http://example.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:Person a sh:NodeShape;
sh:closed true ;
sh:property [
sh:path :name ;
sh:minCount 1;
sh:maxCount 1;
sh:datatype xsd:string ;
] ;
sh:property [
sh:path :birthDate ;
sh:maxCount 1;
sh:datatype xsd:date ;
] ;
sh:property [
sh:path :enrolledIn ;
sh:node :Course ;
] .
:Course a sh:NodeShape;
sh:closed true ;
sh:property [
sh:path :name ;
sh:minCount 1;
sh:maxCount 1;
sh:datatype xsd:string ;
] .
The file can also obtained from the examples/simple_shacl.ttl.
curl -o simple_shacl.ttl https://raw.githubusercontent.com/rudof-project/rudof/refs/heads/master/examples/simple_shacl.ttl
The following command can be used to get information about a SHACL shapes graph:
rudof shacl -s simple_shacl.ttl
Convert from one format to another
It is also possible to read a SHACL shapes graph and convert it to some format
In the example below, rudof
will read a SHACL file in Turle and convert it to RDF/XML.
rudof shacl -s simple_shacl.ttl -r rdfxml -o output.rdf