shacl-engine
Version:
A fast RDF/JS SHACL engine
65 lines (63 loc) • 1.77 kB
text/turtle
@prefix dash: <http://datashapes.org/dash#> .
@prefix ex: <http://datashapes.org/sh/tests/core/property/maxCount-001.test#> .
@prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix sht: <http://www.w3.org/ns/shacl-test#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
ex:InvalidPerson
rdf:type ex:Person ;
ex:firstName "George" ;
ex:firstName "John" ;
rdfs:label "Invalid person" ;
.
ex:Person
rdf:type rdfs:Class ;
rdfs:label "Person" ;
rdfs:subClassOf rdfs:Resource ;
.
ex:PersonShape
rdf:type sh:NodeShape ;
sh:property ex:PersonShape-firstName ;
sh:targetClass ex:Person ;
sh:targetNode ex:ValidResource ;
.
ex:PersonShape-firstName
sh:path ex:firstName ;
sh:datatype xsd:string ;
sh:maxCount 1 ;
.
ex:ValidResource
rdf:type ex:Person ;
ex:firstName "John" ;
rdfs:label "Valid resource" ;
.
<>
rdf:type mf:Manifest ;
mf:entries (
<maxCount-001>
) ;
.
<maxCount-001>
rdf:type sht:Validate ;
rdfs:label "Test of sh:maxCount at property shape 001" ;
mf:action [
sht:dataGraph <> ;
sht:shapesGraph <> ;
] ;
mf:result [
rdf:type sh:ValidationReport ;
sh:conforms "false"^^xsd:boolean ;
sh:result [
rdf:type sh:ValidationResult ;
sh:focusNode ex:InvalidPerson ;
sh:resultPath ex:firstName ;
sh:resultSeverity sh:Violation ;
sh:sourceConstraintComponent sh:MaxCountConstraintComponent ;
sh:sourceShape ex:PersonShape-firstName ;
] ;
] ;
mf:status sht:approved ;
.