diff --git a/shacl12-core/images/Makefile b/shacl12-core/images/Makefile new file mode 100644 index 00000000..5ee2d874 --- /dev/null +++ b/shacl12-core/images/Makefile @@ -0,0 +1,4 @@ +all: ValidationReport-UML.svg + +%.svg: %.puml + plantuml -Tsvg $^ diff --git a/shacl12-core/images/ValidationReport-UML.puml b/shacl12-core/images/ValidationReport-UML.puml new file mode 100644 index 00000000..3624f203 --- /dev/null +++ b/shacl12-core/images/ValidationReport-UML.puml @@ -0,0 +1,23 @@ +@startuml +hide circles +hide empty members +skinparam pathHoverColor red ' on cover, highlight blue links as red + +class "sh:ValidationReport" as ValidationReport [[#results-validation-report]] { + [[#conforms sh:conforms]] : xsd:boolean + [[#shapesGraphWellFormed sh:shapesGraphWellFormed]] : xsd:boolean +} + +class "sh:ValidationResult" as ValidationResult [[#results-validation-result]] { + [[#results-focus-node sh:focusNode]] : any + [[#results-path sh:resultPath]] : [[#property-paths SHACL prop path]] + [[#results-value sh:value]] : any + [[#results-source-shape sh:sourceShape]] : [[#shapes sh:Shape]] + [[#results-source-constraint-component sh:sourceConstraintComponent]] : [[#dfn-constraint-component sh:ConstraintComponent]] + [[#results-message sh:resultMessage]] : xsd:string or rdf:langString + [[#results-severity sh:resultSeverity]] : [[#severity sh:Severity]] +} + +ValidationReport --> ValidationResult : [[#result sh:result]] * +ValidationResult -> AbstractResult : [[#results-detail sh:detail]] * +@enduml diff --git a/shacl12-core/images/ValidationReport-UML.svg b/shacl12-core/images/ValidationReport-UML.svg new file mode 100644 index 00000000..876d6b7c --- /dev/null +++ b/shacl12-core/images/ValidationReport-UML.svg @@ -0,0 +1 @@ +sh:ValidationReportsh:conforms: xsd:booleansh:shapesGraphWellFormed: xsd:booleansh:ValidationResultsh:focusNode: anysh:resultPath:SHACL prop pathsh:value: anysh:sourceShape:sh:Shapesh:sourceConstraintComponent:sh:ConstraintComponentsh:resultMessage: xsd:string or rdf:langStringsh:resultSeverity:sh:Severitysh:result*sh:detail* \ No newline at end of file diff --git a/shacl12-core/index.html b/shacl12-core/index.html index f2e51773..f9406ada 100644 --- a/shacl12-core/index.html +++ b/shacl12-core/index.html @@ -2,6 +2,7 @@ SHACL 1.2 Core + diff --git a/shacl12-vocabularies/shacl-shacl.ttl b/shacl12-vocabularies/shacl-shacl.ttl index 31f7e7a5..fc0536f3 100644 --- a/shacl12-vocabularies/shacl-shacl.ttl +++ b/shacl12-vocabularies/shacl-shacl.ttl @@ -23,11 +23,11 @@ shsh: shsh:ListShape a sh:NodeShape ; rdfs:label "List shape"@en ; - rdfs:comment "A shape describing well-formed RDF lists. Currently does not check for non-recursion. This could be expressed using SHACL-SPARQL."@en ; + rdfs:comment "A shape describing well-formed RDF lists. Currently does not check for non-recursion (this could be expressed using SHACL-SPARQL)."@en ; rdfs:seeAlso ; sh:property [ sh:path [ sh:zeroOrMorePath rdf:rest ] ; - rdfs:comment "Each list member (including this node) must be have the shape shsh:ListNodeShape."@en ; + rdfs:comment "Each list member (including this node) must have the shape shsh:ListNodeShape."@en ; sh:hasValue rdf:nil ; sh:node shsh:ListNodeShape ; ] .