Skip to content

Commit 506114b

Browse files
authored
Merge pull request #295 from casework/bump_prerelease_pointers
Bump prerelease pointers
2 parents 574a8cd + e4e9fbf commit 506114b

File tree

4 files changed

+202
-6
lines changed

4 files changed

+202
-6
lines changed

dependencies/CASE-unstable

ontology/CASE-unstable-2.0.0.ttl

Lines changed: 100 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18361,17 +18361,48 @@ types:Dictionary
1836118361
;
1836218362
rdfs:subClassOf core:UcoInherentCharacterizationThing ;
1836318363
rdfs:label "Dictionary"@en ;
18364-
rdfs:comment "A dictionary is list of (term/key, value) pairs with each term/key existing no more than once."@en ;
18364+
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 ;
1836518365
rdfs:isDefinedBy <https://ontology.unifiedcyberontology.org/uco/types> ;
1836618366
sh:property [
1836718367
sh:class types:DictionaryEntry ;
18368-
sh:minCount "1"^^xsd:integer ;
1836918368
sh:nodeKind sh:IRI ;
1837018369
sh:path types:entry ;
1837118370
] ;
1837218371
sh:targetClass types:Dictionary ;
1837318372
.
1837418373

18374+
types:Dictionary-keyUniqueness-shape
18375+
a sh:NodeShape ;
18376+
sh:description "This shape is separated from the types:Dictionary class-shape in order to associate a warning-severity SPARQL-based shape."@en ;
18377+
sh:severity sh:Warning ;
18378+
sh:sparql [
18379+
a sh:SPARQLConstraint ;
18380+
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 ;
18381+
sh:select """
18382+
PREFIX types: <https://ontology.unifiedcyberontology.org/uco/types/>
18383+
SELECT $this ?value
18384+
WHERE {
18385+
$this
18386+
types:entry/types:key ?value ;
18387+
.
18388+
FILTER NOT EXISTS {
18389+
$this
18390+
a types:ImproperDictionary ;
18391+
.
18392+
}
18393+
FILTER NOT EXISTS {
18394+
$this
18395+
a types:ProperDictionary ;
18396+
.
18397+
}
18398+
}
18399+
GROUP BY ?value
18400+
HAVING (COUNT(?value) > 1)
18401+
""" ;
18402+
] ;
18403+
sh:targetClass types:Dictionary ;
18404+
.
18405+
1837518406
types:DictionaryEntry
1837618407
a
1837718408
owl:Class ,
@@ -18470,11 +18501,64 @@ types:Identifier
1847018501
rdfs:comment "An identifier is a string conformant to the specified UUID-based format for UCO object identifiers."@en ;
1847118502
.
1847218503

18504+
types:ImproperDictionary
18505+
a
18506+
owl:Class ,
18507+
sh:NodeShape
18508+
;
18509+
rdfs:subClassOf types:Dictionary ;
18510+
rdfs:label "ImproperDictionary"@en ;
18511+
owl:disjointWith types:ProperDictionary ;
18512+
sh:property [
18513+
sh:datatype xsd:string ;
18514+
sh:nodeKind sh:Literal ;
18515+
sh:path types:repeatsKey ;
18516+
] ;
18517+
sh:targetClass types:ImproperDictionary ;
18518+
.
18519+
18520+
types:ImproperDictionary-disjointWith-ProperDictionary-shape
18521+
a sh:NodeShape ;
18522+
sh:message "types:ImproperDictionary and types:ProperDictionary are disjoint classes."@en ;
18523+
sh:not [
18524+
a sh:NodeShape ;
18525+
sh:class types:ProperDictionary ;
18526+
] ;
18527+
sh:targetClass types:ImproperDictionary ;
18528+
.
18529+
1847318530
types:NativeFormatString
1847418531
a rdfs:Datatype ;
1847518532
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 ;
1847618533
.
1847718534

18535+
types:ProperDictionary
18536+
a
18537+
owl:Class ,
18538+
sh:NodeShape
18539+
;
18540+
rdfs:subClassOf types:Dictionary ;
18541+
rdfs:label "ProperDictionary"@en ;
18542+
rdfs:comment "A proper dictionary is list of (term/key, value) pairs with each term/key existing no more than once."@en ;
18543+
owl:disjointWith types:ImproperDictionary ;
18544+
sh:sparql [
18545+
a sh:SPARQLConstraint ;
18546+
sh:message "A key in a proper dictionary can appear no more than once."@en ;
18547+
sh:select """
18548+
PREFIX types: <https://ontology.unifiedcyberontology.org/uco/types/>
18549+
SELECT $this ?value
18550+
WHERE {
18551+
$this
18552+
types:entry/types:key ?value ;
18553+
.
18554+
}
18555+
GROUP BY ?value
18556+
HAVING (COUNT(?value) > 1)
18557+
""" ;
18558+
] ;
18559+
sh:targetClass types:ProperDictionary ;
18560+
.
18561+
1847818562
types:StructuredText
1847918563
a rdfs:Datatype ;
1848018564
rdfs:comment "Expresses string-based data in some information structuring format (e.g., HTML5)."@en ;
@@ -18570,6 +18654,20 @@ types:key
1857018654
rdfs:range xsd:string ;
1857118655
.
1857218656

18657+
types:repeatsKey
18658+
a owl:DatatypeProperty ;
18659+
rdfs:label "repeatsKey"@en ;
18660+
rdfs:comment "A key found to be repeated in multiple dictionary entries within one dictionary."@en ;
18661+
rdfs:domain types:ImproperDictionary ;
18662+
rdfs:range xsd:string ;
18663+
.
18664+
18665+
types:repeatsKey-subjects-shape
18666+
a sh:NodeShape ;
18667+
sh:class types:ImproperDictionary ;
18668+
sh:targetSubjectsOf types:repeatsKey ;
18669+
.
18670+
1857318671
types:threadNextItem
1857418672
a owl:ObjectProperty ;
1857518673
rdfs:subPropertyOf types:threadSuccessor ;

ontology/CASE-unstable.ttl

Lines changed: 100 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18355,17 +18355,48 @@ types:Dictionary
1835518355
;
1835618356
rdfs:subClassOf core:UcoInherentCharacterizationThing ;
1835718357
rdfs:label "Dictionary"@en ;
18358-
rdfs:comment "A dictionary is list of (term/key, value) pairs with each term/key existing no more than once."@en ;
18358+
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 ;
1835918359
rdfs:isDefinedBy <https://ontology.unifiedcyberontology.org/uco/types> ;
1836018360
sh:property [
1836118361
sh:class types:DictionaryEntry ;
18362-
sh:minCount "1"^^xsd:integer ;
1836318362
sh:nodeKind sh:IRI ;
1836418363
sh:path types:entry ;
1836518364
] ;
1836618365
sh:targetClass types:Dictionary ;
1836718366
.
1836818367

18368+
types:Dictionary-keyUniqueness-shape
18369+
a sh:NodeShape ;
18370+
sh:description "This shape is separated from the types:Dictionary class-shape in order to associate a warning-severity SPARQL-based shape."@en ;
18371+
sh:severity sh:Warning ;
18372+
sh:sparql [
18373+
a sh:SPARQLConstraint ;
18374+
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 ;
18375+
sh:select """
18376+
PREFIX types: <https://ontology.unifiedcyberontology.org/uco/types/>
18377+
SELECT $this ?value
18378+
WHERE {
18379+
$this
18380+
types:entry/types:key ?value ;
18381+
.
18382+
FILTER NOT EXISTS {
18383+
$this
18384+
a types:ImproperDictionary ;
18385+
.
18386+
}
18387+
FILTER NOT EXISTS {
18388+
$this
18389+
a types:ProperDictionary ;
18390+
.
18391+
}
18392+
}
18393+
GROUP BY ?value
18394+
HAVING (COUNT(?value) > 1)
18395+
""" ;
18396+
] ;
18397+
sh:targetClass types:Dictionary ;
18398+
.
18399+
1836918400
types:DictionaryEntry
1837018401
a
1837118402
owl:Class ,
@@ -18464,11 +18495,64 @@ types:Identifier
1846418495
rdfs:comment "An identifier is a string conformant to the specified UUID-based format for UCO object identifiers."@en ;
1846518496
.
1846618497

18498+
types:ImproperDictionary
18499+
a
18500+
owl:Class ,
18501+
sh:NodeShape
18502+
;
18503+
rdfs:subClassOf types:Dictionary ;
18504+
rdfs:label "ImproperDictionary"@en ;
18505+
owl:disjointWith types:ProperDictionary ;
18506+
sh:property [
18507+
sh:datatype xsd:string ;
18508+
sh:nodeKind sh:Literal ;
18509+
sh:path types:repeatsKey ;
18510+
] ;
18511+
sh:targetClass types:ImproperDictionary ;
18512+
.
18513+
18514+
types:ImproperDictionary-disjointWith-ProperDictionary-shape
18515+
a sh:NodeShape ;
18516+
sh:message "types:ImproperDictionary and types:ProperDictionary are disjoint classes."@en ;
18517+
sh:not [
18518+
a sh:NodeShape ;
18519+
sh:class types:ProperDictionary ;
18520+
] ;
18521+
sh:targetClass types:ImproperDictionary ;
18522+
.
18523+
1846718524
types:NativeFormatString
1846818525
a rdfs:Datatype ;
1846918526
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 ;
1847018527
.
1847118528

18529+
types:ProperDictionary
18530+
a
18531+
owl:Class ,
18532+
sh:NodeShape
18533+
;
18534+
rdfs:subClassOf types:Dictionary ;
18535+
rdfs:label "ProperDictionary"@en ;
18536+
rdfs:comment "A proper dictionary is list of (term/key, value) pairs with each term/key existing no more than once."@en ;
18537+
owl:disjointWith types:ImproperDictionary ;
18538+
sh:sparql [
18539+
a sh:SPARQLConstraint ;
18540+
sh:message "A key in a proper dictionary can appear no more than once."@en ;
18541+
sh:select """
18542+
PREFIX types: <https://ontology.unifiedcyberontology.org/uco/types/>
18543+
SELECT $this ?value
18544+
WHERE {
18545+
$this
18546+
types:entry/types:key ?value ;
18547+
.
18548+
}
18549+
GROUP BY ?value
18550+
HAVING (COUNT(?value) > 1)
18551+
""" ;
18552+
] ;
18553+
sh:targetClass types:ProperDictionary ;
18554+
.
18555+
1847218556
types:StructuredText
1847318557
a rdfs:Datatype ;
1847418558
rdfs:comment "Expresses string-based data in some information structuring format (e.g., HTML5)."@en ;
@@ -18566,6 +18650,20 @@ types:key
1856618650
rdfs:range xsd:string ;
1856718651
.
1856818652

18653+
types:repeatsKey
18654+
a owl:DatatypeProperty ;
18655+
rdfs:label "repeatsKey"@en ;
18656+
rdfs:comment "A key found to be repeated in multiple dictionary entries within one dictionary."@en ;
18657+
rdfs:domain types:ImproperDictionary ;
18658+
rdfs:range xsd:string ;
18659+
.
18660+
18661+
types:repeatsKey-subjects-shape
18662+
a sh:NodeShape ;
18663+
sh:class types:ImproperDictionary ;
18664+
sh:targetSubjectsOf types:repeatsKey ;
18665+
.
18666+
1856918667
types:threadNextItem
1857018668
a owl:ObjectProperty ;
1857118669
rdfs:subPropertyOf types:threadSuccessor ;

0 commit comments

Comments
 (0)