From 5498be5217323a5f5de15f8731fd88b6723d1115 Mon Sep 17 00:00:00 2001 From: Vladimir Alexiev Date: Tue, 5 Aug 2025 10:22:02 +0300 Subject: [PATCH 1/7] minor editorial change --- shacl12-vocabularies/shacl-shacl.ttl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ; ] . From 780e767e72a73e224bcf4ce6af0dae6ccd3c8c4e Mon Sep 17 00:00:00 2001 From: Vladimir Alexiev Date: Fri, 8 Aug 2025 12:35:45 +0300 Subject: [PATCH 2/7] add ValidationReport-UML.svg and inline in #validation-report --- shacl12-core/images/Makefile | 4 +++ shacl12-core/images/ValidationReport-UML.puml | 23 ++++++++++++++++ shacl12-core/images/ValidationReport-UML.svg | 1 + shacl12-core/index.html | 26 ++++++++++++++----- 4 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 shacl12-core/images/Makefile create mode 100644 shacl12-core/images/ValidationReport-UML.puml create mode 100644 shacl12-core/images/ValidationReport-UML.svg 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..73e29aad --- /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 -> ValidationResult : [[#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..9d2461a7 100644 --- a/shacl12-core/index.html +++ b/shacl12-core/index.html @@ -2920,8 +2920,9 @@

Validation Report

The validation report is the result of the validation process that reports the conformance and the set of all validation results. The validation report is described with the SHACL Validation Report Vocabulary as defined in this section. - This vocabulary defines the RDF properties to represent structural information that may provide guidance on how to identify or fix violations in the data graph. + This vocabulary defines the RDF classes and properties to represent structural information that may provide guidance on how to identify or fix violations in the data graph:

+
- tooltip = "Targets are not the only way to initiate validation, SHACL also allows specific nodes to be validated against specific shapes."; - var t = document.getElementsByClassName("target-can-be-skipped"); - for (var i = 0; i < t.length; i++) { - t[i].title = tooltip; - } + // tooltip = "Targets are not the only way to initiate validation, SHACL also allows specific nodes to be validated against specific shapes."; + // var t = document.getElementsByClassName("target-can-be-skipped"); + // for (var i = 0; i < t.length; i++) { + // t[i].title = tooltip; + // } + + // Load and inline SVG diagrams + // TODO: add for accessibility + function svgInline(svg) { + fetch(svg) + .then(response => response.text()) + .then(svgText => { + const container = document.getElementById(svg); + container.innerHTML = svgText; + })}; + + // svgInline('images/SHACL-UML.svg'); + svgInline('images/ValidationReport-UML.svg'); From c804c0ac34e070b056c53f837e38a85651198bd5 Mon Sep 17 00:00:00 2001 From: Vladimir Alexiev Date: Fri, 8 Aug 2025 12:38:26 +0300 Subject: [PATCH 3/7] minor --- shacl12-core/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shacl12-core/index.html b/shacl12-core/index.html index 9d2461a7..6948fc2c 100644 --- a/shacl12-core/index.html +++ b/shacl12-core/index.html @@ -7986,15 +7986,15 @@

Changes between SHACL 1.0 Core and SHACL 1.2 Core

// Load and inline SVG diagrams // TODO: add for accessibility function svgInline(svg) { - fetch(svg) + fetch('images/'+svg) .then(response => response.text()) .then(svgText => { const container = document.getElementById(svg); container.innerHTML = svgText; })}; - // svgInline('images/SHACL-UML.svg'); - svgInline('images/ValidationReport-UML.svg'); + // svgInline('SHACL-UML.svg'); + svgInline('ValidationReport-UML.svg'); From 61bf1e878f1e288555ec4b2cfb68c9f8bb071493 Mon Sep 17 00:00:00 2001 From: Vladimir Alexiev Date: Mon, 11 Aug 2025 12:31:23 +0300 Subject: [PATCH 4/7] Update shacl12-core/index.html Co-authored-by: Yousouf Taghzouti <48333491+YoucTagh@users.noreply.github.com> --- shacl12-core/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shacl12-core/index.html b/shacl12-core/index.html index 6948fc2c..dc1a6344 100644 --- a/shacl12-core/index.html +++ b/shacl12-core/index.html @@ -2922,7 +2922,7 @@

Validation Report

The validation report is described with the SHACL Validation Report Vocabulary as defined in this section. This vocabulary defines the RDF classes and properties to represent structural information that may provide guidance on how to identify or fix violations in the data graph:

-

SHACL-compliant processors MUST be capable of returning a validation report with all required validation results described in this specification. From 59f7c25cbd79010d337f50212a8b009b821ac9ce Mon Sep 17 00:00:00 2001 From: Vladimir Alexiev Date: Tue, 12 Aug 2025 12:53:00 +0300 Subject: [PATCH 5/7] add light/dark mode for text --- shacl12-core/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/shacl12-core/index.html b/shacl12-core/index.html index dc1a6344..1ac97348 100644 --- a/shacl12-core/index.html +++ b/shacl12-core/index.html @@ -2,6 +2,7 @@ SHACL 1.2 Core +