diff --git a/dependencies/CASE-develop b/dependencies/CASE-develop index 83034e54..876173bf 160000 --- a/dependencies/CASE-develop +++ b/dependencies/CASE-develop @@ -1 +1 @@ -Subproject commit 83034e54ce13a0bbef32a038abca6856a807e7fc +Subproject commit 876173bfd29d26a83e0dd1bc3f7ead3b83dc2672 diff --git a/dependencies/CASE-develop-2.0.0 b/dependencies/CASE-develop-2.0.0 index 2cdc572e..c9587fa5 160000 --- a/dependencies/CASE-develop-2.0.0 +++ b/dependencies/CASE-develop-2.0.0 @@ -1 +1 @@ -Subproject commit 2cdc572eeada5a12550c2aa5792f03660df6ea9d +Subproject commit c9587fa5d270bd79607932fbaa81c2b5fee929d9 diff --git a/dependencies/CASE-unstable b/dependencies/CASE-unstable index 4bd125d2..cd0008c8 160000 --- a/dependencies/CASE-unstable +++ b/dependencies/CASE-unstable @@ -1 +1 @@ -Subproject commit 4bd125d2c6029adfdc6d4f5085b9d0e46687f38b +Subproject commit cd0008c84c86f8462366bb6a77b972948b099216 diff --git a/dependencies/CASE-unstable-2.0.0 b/dependencies/CASE-unstable-2.0.0 index e1e1a8a0..3a0e50ea 160000 --- a/dependencies/CASE-unstable-2.0.0 +++ b/dependencies/CASE-unstable-2.0.0 @@ -1 +1 @@ -Subproject commit e1e1a8a018fa2103ed933e0fb03ae152d63da64b +Subproject commit 3a0e50ea62c3287c8ac2c13d9c15a15b70383b9f diff --git a/ontology/CASE-develop-2.0.0.ttl b/ontology/CASE-develop-2.0.0.ttl index fb06b93e..242d7e80 100644 --- a/ontology/CASE-develop-2.0.0.ttl +++ b/ontology/CASE-develop-2.0.0.ttl @@ -1518,6 +1518,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 ; @@ -1679,6 +1704,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 ; @@ -2503,7 +2542,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 ; @@ -2521,6 +2560,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 ; @@ -2549,6 +2598,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 ; @@ -7578,7 +7646,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 ; . @@ -12876,7 +12944,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 ; . @@ -17627,7 +17695,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-develop.ttl b/ontology/CASE-develop.ttl index 256fa752..dd933833 100644 --- a/ontology/CASE-develop.ttl +++ b/ontology/CASE-develop.ttl @@ -1518,6 +1518,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 ; @@ -1679,6 +1704,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 ; @@ -2504,7 +2543,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 ; @@ -2522,6 +2561,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 ; @@ -2550,6 +2599,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 ; @@ -7641,7 +7709,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 ; . @@ -13043,7 +13111,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 ; . @@ -17794,7 +17862,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 ; 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 ;