From 21c1a4dc8ef031707b6d410015b3b8ce013c01ea Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Fri, 19 Aug 2022 14:29:25 -0400 Subject: [PATCH 1/2] Remove usage of sh:declare SHACL Specification Section 5.2.1 specifies a "viral" behavior of `sh:declare` throughout an OWL transitive closure. This patch removes usage of `sh:declare` as a matter of lack of authority for non-UCO prefixes. It just so happens the only place this was used was in the introduction of the OWL SHACL review mechanisms of Issue 406. A follow-on patch will regenerate Make-managed files. References: * https://github.com/ucoProject/UCO/issues/406 * https://github.com/ucoProject/UCO/issues/457 Signed-off-by: Alex Nelson --- ontology/owl/owl.ttl | 43 +++++++++++++++---------------------------- 1 file changed, 15 insertions(+), 28 deletions(-) diff --git a/ontology/owl/owl.ttl b/ontology/owl/owl.ttl index e9b7027c..5a1d50c3 100644 --- a/ontology/owl/owl.ttl +++ b/ontology/owl/owl.ttl @@ -9,16 +9,6 @@ a owl:Ontology ; rdfs:comment "This ontology defines SHACL shapes to perform conformance testing of OWL 2 DL. Some of these shapes follow rules specified from the canonical, subtractive parsing process of Section 3 of the OWL 2 mapping to RDF. From the last line of that document's Section 3, 'At the end of this process, the graph G MUST be empty,' anything not strictly matching patterns specified in that section cause the input graph to be non-conformant with OWL 2 DL."@en ; rdfs:seeAlso ; - sh:declare - [ - sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI ; - sh:prefix "owl" ; - ] , - [ - sh:namespace "http://www.w3.org/ns/shacl#"^^xsd:anyURI ; - sh:prefix "sh" ; - ] - ; . uco-owl:Axiom-shape @@ -28,8 +18,8 @@ uco-owl:Axiom-shape rdfs:comment "This requirement is determined from review of the canonical parsing process in Section 3 of the OWL 2 mapping to RDF. All references to owl:Axioms are identified as blank nodes. Therefore, any non-blank node that is an owl:Axiom will not be mapped and consumed by the mapping process."@en ; rdfs:seeAlso ; sh:message "An owl:Axiom must be a blank node."@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $this a owl:Axiom . @@ -46,11 +36,9 @@ uco-owl:DatatypeProperty-shacl-constraints-shape [ a sh:SPARQLConstraint ; sh:message "An OWL Datatype Property cannot use a SHACL ClassConstraintComponent."@en ; - sh:prefixes - , - - ; sh:select """ + PREFIX rdf: + PREFIX sh: SELECT $this WHERE { $value @@ -63,11 +51,9 @@ uco-owl:DatatypeProperty-shacl-constraints-shape [ a sh:SPARQLConstraint ; sh:message "An OWL Datatype Property must not permit a non-Literal value via SHACL constraints."@en ; - sh:prefixes - , - - ; sh:select """ + PREFIX rdf: + PREFIX sh: SELECT $this WHERE { $value sh:path / rdf:rest* / rdf:first? $this . @@ -94,8 +80,8 @@ uco-owl:Disjointedness-AP-DP-shape a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "An IRI may not be a member of both an owl:AnnotationProperty and owl:DatatypeProperty."@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $this a owl:DatatypeProperty ; @@ -111,8 +97,8 @@ uco-owl:Disjointedness-AP-OP-shape a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "An IRI may not be a member of both an owl:AnnotationProperty and owl:ObjectProperty."@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $this a owl:ObjectProperty ; @@ -128,8 +114,8 @@ uco-owl:Disjointedness-C-DT-shape a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "An IRI may not be a member of both an owl:Class and owl:Datatype."@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $this a owl:Datatype ; @@ -145,8 +131,8 @@ uco-owl:Disjointedness-DP-OP-shape a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "An IRI may not be a member of both owl:DatatypeProperty and owl:ObjectProperty."@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $this a owl:ObjectProperty ; @@ -184,8 +170,9 @@ uco-owl:ObjectProperty-shacl-constraints-shape [ a sh:SPARQLConstraint ; sh:message "An OWL Object Property cannot use a SHACL DatatypeConstraintComponent."@en ; - sh:prefixes ; sh:select """ + PREFIX rdf: + PREFIX sh: SELECT $this WHERE { $value @@ -198,8 +185,8 @@ uco-owl:ObjectProperty-shacl-constraints-shape [ a sh:SPARQLConstraint ; sh:message "An OWL Object Property must not permit a Literal value via SHACL consraints."@en ; - sh:prefixes ; sh:select """ + PREFIX sh: SELECT $this WHERE { $value sh:path / rdf:rest* / rdf:first? $this ; @@ -227,8 +214,8 @@ uco-owl:ontologyIRI-shape a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "'If an ontology has an ontology IRI but no version IRI, then a different ontology with the same ontology IRI but no version IRI SHOULD NOT exist.'"@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $value owl:ontologyIRI $this . @@ -259,8 +246,8 @@ uco-owl:versionIRI-shape a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "'An ontology without an ontology IRI MUST NOT contain a version IRI.'"@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $value owl:versionIRI $this . @@ -274,8 +261,8 @@ uco-owl:versionIRI-shape a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "'If an ontology has both an ontology IRI and a version IRI, then a different ontology with the same ontology IRI and the same version IRI SHOULD NOT exist.'"@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $value From c8dd7a11c3dc6b43ec827c4480169587be6cad8f Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Fri, 19 Aug 2022 14:37:20 -0400 Subject: [PATCH 2/2] Regenerate Make-managed files References: * https://github.com/ucoProject/UCO/issues/406 * https://github.com/ucoProject/UCO/issues/457 Signed-off-by: Alex Nelson --- tests/examples/owl_axiom_XFAIL_validation.ttl | 2 +- tests/examples/owl_properties_XFAIL_validation.ttl | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/examples/owl_axiom_XFAIL_validation.ttl b/tests/examples/owl_axiom_XFAIL_validation.ttl index 7f834c01..c450be72 100644 --- a/tests/examples/owl_axiom_XFAIL_validation.ttl +++ b/tests/examples/owl_axiom_XFAIL_validation.ttl @@ -18,8 +18,8 @@ rdfs:comment "This requirement is determined from review of the canonical parsing process in Section 3 of the OWL 2 mapping to RDF. All references to owl:Axioms are identified as blank nodes. Therefore, any non-blank node that is an owl:Axiom will not be mapped and consumed by the mapping process."@en ; rdfs:seeAlso ; sh:message "An owl:Axiom must be a blank node."@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $this a owl:Axiom . diff --git a/tests/examples/owl_properties_XFAIL_validation.ttl b/tests/examples/owl_properties_XFAIL_validation.ttl index 0dc044dd..cf07d5c3 100644 --- a/tests/examples/owl_properties_XFAIL_validation.ttl +++ b/tests/examples/owl_properties_XFAIL_validation.ttl @@ -18,8 +18,8 @@ a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "An IRI may not be a member of both an owl:AnnotationProperty and owl:DatatypeProperty."@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $this a owl:DatatypeProperty ; @@ -39,8 +39,8 @@ a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "An IRI may not be a member of both an owl:AnnotationProperty and owl:ObjectProperty."@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $this a owl:ObjectProperty ; @@ -60,8 +60,8 @@ a sh:SPARQLConstraint ; rdfs:seeAlso ; sh:message "An IRI may not be a member of both owl:DatatypeProperty and owl:ObjectProperty."@en ; - sh:prefixes ; sh:select """ + PREFIX owl: SELECT $this WHERE { $this a owl:ObjectProperty ;