Skip to content

Commit

Permalink
Merge pull request #298 from casework/bump_prerelease_pointers
Browse files Browse the repository at this point in the history
Bump prerelease pointers
  • Loading branch information
kchason authored Jul 29, 2024
2 parents 153515e + 8072941 commit b28632d
Show file tree
Hide file tree
Showing 11 changed files with 132 additions and 11 deletions.
2 changes: 1 addition & 1 deletion dependencies/CASE-develop
Submodule CASE-develop updated 1 files
+1 −1 dependencies/UCO
2 changes: 1 addition & 1 deletion dependencies/CASE-unstable
2 changes: 1 addition & 1 deletion dependencies/CASE-unstable-2.0.0
5 changes: 4 additions & 1 deletion examples/crossover_heist/crossover_heist.json
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,10 @@
},
{
"@id": "kb:Disk-6dbe5066-dfb8-4551-9bda-39aab2ae3db1",
"@type": "uco-observable:Disk",
"@type": [
"uco-observable:Disk",
"uco-observable:StorageMedium"
],
"uco-core:hasFacet": [
{
"@id": "kb:disk-facet-c9fa6408-85f8-4e0b-bf8f-f653f5bc97c3",
Expand Down
5 changes: 4 additions & 1 deletion examples/crossover_heist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,10 @@ <h3>INVESTIGATIVE ACTIONS</h3>
},
{
"@id": "kb:Disk-6dbe5066-dfb8-4551-9bda-39aab2ae3db1",
"@type": "uco-observable:Disk",
"@type": [
"uco-observable:Disk",
"uco-observable:StorageMedium"
],
"uco-core:hasFacet": [
{
"@id": "kb:disk-facet-c9fa6408-85f8-4e0b-bf8f-f653f5bc97c3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,10 @@
},
{
"@id": "kb:Disk-6dbe5066-dfb8-4551-9bda-39aab2ae3db1",
"@type": "uco-observable:Disk",
"@type": [
"uco-observable:Disk",
"uco-observable:StorageMedium"
],
"uco-core:hasFacet": [
{
"@id": "kb:disk-facet-c9fa6408-85f8-4e0b-bf8f-f653f5bc97c3",
Expand Down
5 changes: 4 additions & 1 deletion examples/hardware_duplicator/hardware_duplicator.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,10 @@
},
{
"@id": "kb:disk-e598c1b3-f76d-4c27-b592-49bfdbf23d11",
"@type": "uco-observable:Disk",
"@type": [
"uco-observable:Disk",
"uco-observable:StorageMedium"
],
"uco-core:hasFacet": [
{
"@id": "kb:disk-facet-257d2533-2d2d-4263-8467-0fd7ef8de262",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
[
{
"@id": "kb:disk-e598c1b3-f76d-4c27-b592-49bfdbf23d11",
"@type": "uco-observable:Disk",
"@type": [
"uco-observable:Disk",
"uco-observable:StorageMedium"
],
"uco-core:hasFacet": [
{
"@id": "kb:disk-facet-257d2533-2d2d-4263-8467-0fd7ef8de262",
Expand Down
102 changes: 100 additions & 2 deletions ontology/CASE-develop.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -17775,17 +17775,48 @@ types:Dictionary
;
rdfs:subClassOf core:UcoInherentCharacterizationThing ;
rdfs:label "Dictionary"@en ;
rdfs:comment "A dictionary is list of (term/key, value) pairs with each term/key existing no more than once."@en ;
rdfs:comment "A dictionary is list of (term/key, value) pairs with each term/key having an expectation to exist no more than once. types:Dictionary alone does not validate this expectation, but validation is available. For use cases where this expectation must be validated, the subclass types:ProperDictionary should be used instead of types:Dictionary. For instances where this expectation has been found to be violated, the subclass types:ImproperDictionary should be used instead of types:Dictionary."@en ;
rdfs:isDefinedBy <https://ontology.unifiedcyberontology.org/uco/types> ;
sh:property [
sh:class types:DictionaryEntry ;
sh:minCount "1"^^xsd:integer ;
sh:nodeKind sh:IRI ;
sh:path types:entry ;
] ;
sh:targetClass types:Dictionary ;
.

types:Dictionary-keyUniqueness-shape
a sh:NodeShape ;
sh:description "This shape is separated from the types:Dictionary class-shape in order to associate a warning-severity SPARQL-based shape."@en ;
sh:severity sh:Warning ;
sh:sparql [
a sh:SPARQLConstraint ;
sh:message "A key in a dictionary should appear no more than once. The value literal does. Please consider using the types:ImproperDictionary class and types:repeatsKey property."@en ;
sh:select """
PREFIX types: <https://ontology.unifiedcyberontology.org/uco/types/>
SELECT $this ?value
WHERE {
$this
types:entry/types:key ?value ;
.
FILTER NOT EXISTS {
$this
a types:ImproperDictionary ;
.
}
FILTER NOT EXISTS {
$this
a types:ProperDictionary ;
.
}
}
GROUP BY ?value
HAVING (COUNT(?value) > 1)
""" ;
] ;
sh:targetClass types:Dictionary ;
.

types:DictionaryEntry
a
owl:Class ,
Expand Down Expand Up @@ -17884,11 +17915,64 @@ types:Identifier
rdfs:comment "An identifier is a string conformant to the specified UUID-based format for UCO object identifiers."@en ;
.

types:ImproperDictionary
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf types:Dictionary ;
rdfs:label "ImproperDictionary"@en ;
owl:disjointWith types:ProperDictionary ;
sh:property [
sh:datatype xsd:string ;
sh:nodeKind sh:Literal ;
sh:path types:repeatsKey ;
] ;
sh:targetClass types:ImproperDictionary ;
.

types:ImproperDictionary-disjointWith-ProperDictionary-shape
a sh:NodeShape ;
sh:message "types:ImproperDictionary and types:ProperDictionary are disjoint classes."@en ;
sh:not [
a sh:NodeShape ;
sh:class types:ProperDictionary ;
] ;
sh:targetClass types:ImproperDictionary ;
.

types:NativeFormatString
a rdfs:Datatype ;
rdfs:comment "Specifies data in its native format of some external language. The data may be encoded in Base64 per [RFC4648]. Data encoded in Base64 must be denoted as such using the encoded property."@en ;
.

types:ProperDictionary
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf types:Dictionary ;
rdfs:label "ProperDictionary"@en ;
rdfs:comment "A proper dictionary is list of (term/key, value) pairs with each term/key existing no more than once."@en ;
owl:disjointWith types:ImproperDictionary ;
sh:sparql [
a sh:SPARQLConstraint ;
sh:message "A key in a proper dictionary can appear no more than once."@en ;
sh:select """
PREFIX types: <https://ontology.unifiedcyberontology.org/uco/types/>
SELECT $this ?value
WHERE {
$this
types:entry/types:key ?value ;
.
}
GROUP BY ?value
HAVING (COUNT(?value) > 1)
""" ;
] ;
sh:targetClass types:ProperDictionary ;
.

types:StructuredText
a rdfs:Datatype ;
rdfs:comment "Expresses string-based data in some information structuring format (e.g., HTML5)."@en ;
Expand Down Expand Up @@ -17986,6 +18070,20 @@ types:key
rdfs:range xsd:string ;
.

types:repeatsKey
a owl:DatatypeProperty ;
rdfs:label "repeatsKey"@en ;
rdfs:comment "A key found to be repeated in multiple dictionary entries within one dictionary."@en ;
rdfs:domain types:ImproperDictionary ;
rdfs:range xsd:string ;
.

types:repeatsKey-subjects-shape
a sh:NodeShape ;
sh:class types:ImproperDictionary ;
sh:targetSubjectsOf types:repeatsKey ;
.

types:threadNextItem
a owl:ObjectProperty ;
rdfs:subPropertyOf types:threadSuccessor ;
Expand Down
2 changes: 1 addition & 1 deletion ontology/CASE-unstable-2.0.0.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -6452,7 +6452,7 @@ observable:Disk
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:ObservableObject ;
rdfs:subClassOf observable:StorageMedium ;
rdfs:label "Disk"@en ;
rdfs:comment "A disk is a storage mechanism where data is recorded by various electronic, magnetic, optical, or mechanical changes to a surface layer of one or more rotating disks."@en ;
sh:targetClass observable:Disk ;
Expand Down
8 changes: 8 additions & 0 deletions ontology/CASE-unstable.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -6401,6 +6401,14 @@ observable:Disk
rdfs:subClassOf observable:ObservableObject ;
rdfs:label "Disk"@en ;
rdfs:comment "A disk is a storage mechanism where data is recorded by various electronic, magnetic, optical, or mechanical changes to a surface layer of one or more rotating disks."@en ;
rdfs:seeAlso [
a sh:NodeShape ;
rdfs:comment "This anonymous shape is attached with rdfs:seeAlso in order to associate a warning-severity class constraint, that will only be necessary as an independent shape until UCO 2.0.0."@en ;
sh:class observable:StorageMedium ;
sh:message "In UCO 2.0.0, uco-observable:Disk will be a subclass of uco-observable:StorageMedium. In preparation for UCO 2.0.0, the additional type uco-observable:StorageMedium should be assigned to this node."@en ;
sh:severity sh:Warning ;
sh:targetClass observable:Disk ;
] ;
sh:targetClass observable:Disk ;
.

Expand Down

0 comments on commit b28632d

Please sign in to comment.