From e8f3bc96ed598d35b6693810d2ccc033e7d30513 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Sat, 30 May 2026 18:37:22 -0400 Subject: [PATCH 1/2] Bump unstable pointers A follow-on patch will regenerate Make-managed files. References: * https://github.com/ucoProject/UCO/issues/666 Signed-off-by: Alex Nelson --- dependencies/CASE-unstable | 2 +- dependencies/CASE-unstable-2.0.0 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies/CASE-unstable b/dependencies/CASE-unstable index 4bd125d2..36886a9a 160000 --- a/dependencies/CASE-unstable +++ b/dependencies/CASE-unstable @@ -1 +1 @@ -Subproject commit 4bd125d2c6029adfdc6d4f5085b9d0e46687f38b +Subproject commit 36886a9aa83c7d72b6b48fe08468b2559a690ccd diff --git a/dependencies/CASE-unstable-2.0.0 b/dependencies/CASE-unstable-2.0.0 index e1e1a8a0..9818709c 160000 --- a/dependencies/CASE-unstable-2.0.0 +++ b/dependencies/CASE-unstable-2.0.0 @@ -1 +1 @@ -Subproject commit e1e1a8a018fa2103ed933e0fb03ae152d63da64b +Subproject commit 9818709c7fd698a4e30462e7053cdc5336a06d7a From c310f93366c2d2b105f813cf9b4cf0d450846443 Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Sat, 30 May 2026 18:39:54 -0400 Subject: [PATCH 2/2] Regenerate Make-managed files References: * https://github.com/ucoProject/UCO/issues/666 Signed-off-by: Alex Nelson --- ontology/CASE-unstable-2.0.0.ttl | 76 ++++++++++++++++++++++++++++++-- ontology/CASE-unstable.ttl | 76 ++++++++++++++++++++++++++++++-- 2 files changed, 144 insertions(+), 8 deletions(-) diff --git a/ontology/CASE-unstable-2.0.0.ttl b/ontology/CASE-unstable-2.0.0.ttl index a150de0b..a9f59444 100644 --- a/ontology/CASE-unstable-2.0.0.ttl +++ b/ontology/CASE-unstable-2.0.0.ttl @@ -2053,6 +2053,31 @@ action:ArrayOfAction sh:targetClass action:ArrayOfAction ; . +action:Technique + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf core:UcoType ; + rdfs:label "Technique"@en ; + rdfs:comment "A technique is a class of actions joined by some common characteristics. uco-action:Technique itself is a metaclass. A Technique instance is an owl:Class that is a subclass of uco-action:Action."@en ; + sh:property + [ + rdfs:comment "This shape confirms a Technique is an eventual subclass of Action. The Action class itself is not a Technique."@en ; + sh:hasValue action:Action ; + sh:path [ + sh:oneOrMorePath rdfs:subClassOf ; + ] ; + ] , + [ + rdfs:comment "This shape will find violations after RDFS or OWL-RL inferencing, but might not find some violations without inferencing."@en ; + sh:nodeKind sh:Literal ; + sh:path action:techniqueID ; + ] + ; + sh:targetClass action:Technique ; + . + action:action a owl:ObjectProperty ; rdfs:label "action"@en ; @@ -2214,6 +2239,20 @@ action:subaction rdfs:range action:Action ; . +action:techniqueID + a owl:DatatypeProperty ; + rdfs:label "techniqueID"@en ; + rdfs:comment "An identifier for a technique within some cataloguing system. At the general level of UCO, techniqueID is left optional and minimally-described aside from needing to be Literal-valued. Specializations of Technique should also consider specializing a corresponding subproperty of techniqueID to enable support of global review of technique identifiers."@en ; + rdfs:domain action:Technique ; + . + +action:techniqueID-subjects-shape + a sh:NodeShape ; + rdfs:comment "This shape enforces that action:techniqueID is only used on Techniques."@en ; + sh:class action:Technique ; + sh:targetSubjectsOf action:techniqueID ; + . + action:trend a owl:DatatypeProperty ; rdfs:label "trend"@en ; @@ -3084,7 +3123,7 @@ core:UcoThing ; rdfs:subClassOf owl:Thing ; rdfs:label "UcoThing"@en ; - rdfs:comment "UcoThing is the top-level class within UCO."@en ; + rdfs:comment "UcoThing is the top-level class for individuals within UCO."@en ; rdfs:seeAlso core:UcoThing-identifier-regex-shape ; sh:sparql [ a sh:SPARQLConstraint ; @@ -3102,6 +3141,16 @@ core:UcoThing sh:targetClass core:UcoThing ; . +core:UcoThing-disjointWith-UcoType-shape + a sh:NodeShape ; + sh:message "core:UcoThing and core:UcoType are disjoint classes."@en ; + sh:not [ + a sh:NodeShape ; + sh:class core:UcoType ; + ] ; + sh:targetClass core:UcoThing ; + . + core:UcoThing-identifier-regex-shape a sh:NodeShape ; rdfs:comment "This shape is given an independent IRI for applications that have sufficient controls in place to deactivate this advisory of node identification practice."@en ; @@ -3130,6 +3179,25 @@ core:UcoThing-identifier-regex-shape sh:targetClass core:UcoThing ; . +core:UcoType + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf owl:Thing ; + rdfs:label "UcoType"@en ; + rdfs:comment "UcoThing is the top-level class for metaclasses within UCO. An instance of core:UcoType is also an instance of owl:Class, and is or specializes core:UcoThing."@en ; + owl:disjointWith core:UcoThing ; + sh:class owl:Class ; + sh:property [ + sh:hasValue core:UcoThing ; + sh:path [ + sh:zeroOrMorePath rdfs:subClassOf ; + ] ; + ] ; + sh:targetClass core:UcoType ; + . + core:confidence a owl:DatatypeProperty ; rdfs:label "confidence"@en ; @@ -8225,7 +8293,7 @@ observable:MessageThread sh:NodeShape ; rdfs:subClassOf observable:ObservableObject ; - rdfs:label "MessageTread"@en ; + rdfs:label "MessageThread"@en ; rdfs:comment "A message thread is a running commentary of electronic messages pertaining to one topic or question."@en ; sh:targetClass observable:MessageThread ; . @@ -13572,7 +13640,7 @@ observable:blockType observable:bluetoothDeviceName a owl:DatatypeProperty ; rdfs:label "bluetoothDeviceName"@en ; - rdfs:comment "Name configured withing Bluetooth settings on a device."@en ; + rdfs:comment "Name configured within Bluetooth settings on a device."@en ; rdfs:range xsd:string ; . @@ -18326,7 +18394,7 @@ types:Thread core:UcoInherentCharacterizationThing ; rdfs:label "Thread"@en ; - rdfs:comment "A semi-ordered array of items, that can be present in multiple copies. Implemetation of a UCO Thread is similar to a Collections Ontology List, except a Thread may fork and merge - that is, one of its members may have two or more direct successors, and two or more direct predecessors."@en ; + rdfs:comment "A semi-ordered array of items, that can be present in multiple copies. Implementation of a UCO Thread is similar to a Collections Ontology List, except a Thread may fork and merge - that is, one of its members may have two or more direct successors, and two or more direct predecessors."@en ; owl:disjointWith co:List ; sh:property [ sh:class types:ThreadItem ; diff --git a/ontology/CASE-unstable.ttl b/ontology/CASE-unstable.ttl index 11d39793..c57a09d5 100644 --- a/ontology/CASE-unstable.ttl +++ b/ontology/CASE-unstable.ttl @@ -2053,6 +2053,31 @@ action:ArrayOfAction sh:targetClass action:ArrayOfAction ; . +action:Technique + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf core:UcoType ; + rdfs:label "Technique"@en ; + rdfs:comment "A technique is a class of actions joined by some common characteristics. uco-action:Technique itself is a metaclass. A Technique instance is an owl:Class that is a subclass of uco-action:Action."@en ; + sh:property + [ + rdfs:comment "This shape confirms a Technique is an eventual subclass of Action. The Action class itself is not a Technique."@en ; + sh:hasValue action:Action ; + sh:path [ + sh:oneOrMorePath rdfs:subClassOf ; + ] ; + ] , + [ + rdfs:comment "This shape will find violations after RDFS or OWL-RL inferencing, but might not find some violations without inferencing."@en ; + sh:nodeKind sh:Literal ; + sh:path action:techniqueID ; + ] + ; + sh:targetClass action:Technique ; + . + action:action a owl:ObjectProperty ; rdfs:label "action"@en ; @@ -2214,6 +2239,20 @@ action:subaction rdfs:range action:Action ; . +action:techniqueID + a owl:DatatypeProperty ; + rdfs:label "techniqueID"@en ; + rdfs:comment "An identifier for a technique within some cataloguing system. At the general level of UCO, techniqueID is left optional and minimally-described aside from needing to be Literal-valued. Specializations of Technique should also consider specializing a corresponding subproperty of techniqueID to enable support of global review of technique identifiers."@en ; + rdfs:domain action:Technique ; + . + +action:techniqueID-subjects-shape + a sh:NodeShape ; + rdfs:comment "This shape enforces that action:techniqueID is only used on Techniques."@en ; + sh:class action:Technique ; + sh:targetSubjectsOf action:techniqueID ; + . + action:trend a owl:DatatypeProperty ; rdfs:label "trend"@en ; @@ -3039,7 +3078,7 @@ core:UcoThing ; rdfs:subClassOf owl:Thing ; rdfs:label "UcoThing"@en ; - rdfs:comment "UcoThing is the top-level class within UCO."@en ; + rdfs:comment "UcoThing is the top-level class for individuals within UCO."@en ; rdfs:seeAlso core:UcoThing-identifier-regex-shape ; sh:sparql [ a sh:SPARQLConstraint ; @@ -3057,6 +3096,16 @@ core:UcoThing sh:targetClass core:UcoThing ; . +core:UcoThing-disjointWith-UcoType-shape + a sh:NodeShape ; + sh:message "core:UcoThing and core:UcoType are disjoint classes."@en ; + sh:not [ + a sh:NodeShape ; + sh:class core:UcoType ; + ] ; + sh:targetClass core:UcoThing ; + . + core:UcoThing-identifier-regex-shape a sh:NodeShape ; rdfs:comment "This shape is given an independent IRI for applications that have sufficient controls in place to deactivate this advisory of node identification practice."@en ; @@ -3085,6 +3134,25 @@ core:UcoThing-identifier-regex-shape sh:targetClass core:UcoThing ; . +core:UcoType + a + owl:Class , + sh:NodeShape + ; + rdfs:subClassOf owl:Thing ; + rdfs:label "UcoType"@en ; + rdfs:comment "UcoThing is the top-level class for metaclasses within UCO. An instance of core:UcoType is also an instance of owl:Class, and is or specializes core:UcoThing."@en ; + owl:disjointWith core:UcoThing ; + sh:class owl:Class ; + sh:property [ + sh:hasValue core:UcoThing ; + sh:path [ + sh:zeroOrMorePath rdfs:subClassOf ; + ] ; + ] ; + sh:targetClass core:UcoType ; + . + core:confidence a owl:DatatypeProperty ; rdfs:label "confidence"@en ; @@ -8243,7 +8311,7 @@ observable:MessageThread sh:NodeShape ; rdfs:subClassOf observable:ObservableObject ; - rdfs:label "MessageTread"@en ; + rdfs:label "MessageThread"@en ; rdfs:comment "A message thread is a running commentary of electronic messages pertaining to one topic or question."@en ; sh:targetClass observable:MessageThread ; . @@ -13725,7 +13793,7 @@ observable:blockType observable:bluetoothDeviceName a owl:DatatypeProperty ; rdfs:label "bluetoothDeviceName"@en ; - rdfs:comment "Name configured withing Bluetooth settings on a device."@en ; + rdfs:comment "Name configured within Bluetooth settings on a device."@en ; rdfs:range xsd:string ; . @@ -18476,7 +18544,7 @@ types:Thread core:UcoThing ; rdfs:label "Thread"@en ; - rdfs:comment "A semi-ordered array of items, that can be present in multiple copies. Implemetation of a UCO Thread is similar to a Collections Ontology List, except a Thread may fork and merge - that is, one of its members may have two or more direct successors, and two or more direct predecessors."@en ; + rdfs:comment "A semi-ordered array of items, that can be present in multiple copies. Implementation of a UCO Thread is similar to a Collections Ontology List, except a Thread may fork and merge - that is, one of its members may have two or more direct successors, and two or more direct predecessors."@en ; owl:disjointWith co:List ; sh:property [ sh:class types:ThreadItem ;