Skip to content

Commit

Permalink
Fix semi-open vocabulary patterns and add RecoveredObject class
Browse files Browse the repository at this point in the history
The semi-open vocabulary pattern is in conformance with the OWL
enforcement designed in Issue 406.

The imported concepts match the state of CASE-Examples PR 90.

References:
* [UCO OC-119] (CP-43) Represent recoverability of unallocated files
* casework/CASE-Examples#90
* #406

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
  • Loading branch information
ajnelson-nist committed Aug 11, 2022
1 parent 7a98f09 commit a12aed4
Showing 1 changed file with 83 additions and 1 deletion.
84 changes: 83 additions & 1 deletion ontology/uco/observable/observable.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -5290,6 +5290,17 @@ observable:RasterPictureFacet
sh:targetClass observable:RasterPictureFacet ;
.

observable:RecoveredObject
a
owl:Class ,
sh:NodeShape
;
rdfs:subClassOf observable:ObservableObject ;
rdfs:label "RecoveredObject"@en ;
rdfs:comment "An observable object that was the result of a recovery operation."@en ;
sh:targetClass observable:RecoveredObject ;
.

observable:RecoveredObjectFacet
a
owl:Class ,
Expand All @@ -5298,8 +5309,25 @@ observable:RecoveredObjectFacet
rdfs:subClassOf core:Facet ;
rdfs:label "RecoveredObjectFacet"@en ;
rdfs:comment "Recoverability status of name, metadata, and content."@en ;
rdfs:seeAlso <https://unifiedcyberontology.atlassian.net/browse/ONT-119> ;
sh:property
[
sh:datatype vocabulary:RecoveredObjectStatusVocab ;
sh:message "Value is outside the default vocabulary RecoveredObjectStatusVocab." ;
sh:path observable:contentRecoveredStatus ;
sh:severity sh:Info ;
] ,
[
sh:datatype vocabulary:RecoveredObjectStatusVocab ;
sh:message "Value is outside the default vocabulary RecoveredObjectStatusVocab." ;
sh:path observable:metadataRecoveredStatus ;
sh:severity sh:Info ;
] ,
[
sh:datatype vocabulary:RecoveredObjectStatusVocab ;
sh:message "Value is outside the default vocabulary RecoveredObjectStatusVocab." ;
sh:path observable:nameRecoveredStatus ;
sh:severity sh:Info ;
] ,
[
sh:maxCount "1"^^xsd:integer ;
sh:nodeKind sh:Literal ;
Expand Down Expand Up @@ -5338,6 +5366,60 @@ observable:RecoveredObjectFacet
]
) ;
sh:path observable:contentRecoveredStatus ;
] ,
[
sh:message "Value is not member of the vocabulary RecoveredObjectStatusVocab." ;
sh:or (
[
sh:datatype vocabulary:RecoveredObjectStatusVocab ;
sh:in (
"recovered"^^vocabulary:RecoveredObjectStatusVocab
"partially recovered"^^vocabulary:RecoveredObjectStatusVocab
"overwritten"^^vocabulary:RecoveredObjectStatusVocab
"unknown"^^vocabulary:RecoveredObjectStatusVocab
) ;
]
[
sh:datatype xsd:string ;
]
) ;
sh:path observable:nameRecoveredStatus ;
] ,
[
sh:message "Value is not member of the vocabulary RecoveredObjectStatusVocab." ;
sh:or (
[
sh:datatype vocabulary:RecoveredObjectStatusVocab ;
sh:in (
"recovered"^^vocabulary:RecoveredObjectStatusVocab
"partially recovered"^^vocabulary:RecoveredObjectStatusVocab
"overwritten"^^vocabulary:RecoveredObjectStatusVocab
"unknown"^^vocabulary:RecoveredObjectStatusVocab
) ;
]
[
sh:datatype xsd:string ;
]
) ;
sh:path observable:metadataRecoveredStatus ;
] ,
[
sh:message "Value is not member of the vocabulary RecoveredObjectStatusVocab." ;
sh:or (
[
sh:datatype vocabulary:RecoveredObjectStatusVocab ;
sh:in (
"recovered"^^vocabulary:RecoveredObjectStatusVocab
"partially recovered"^^vocabulary:RecoveredObjectStatusVocab
"overwritten"^^vocabulary:RecoveredObjectStatusVocab
"unknown"^^vocabulary:RecoveredObjectStatusVocab
) ;
]
[
sh:datatype xsd:string ;
]
) ;
sh:path observable:contentRecoveredStatus ;
]
;
sh:targetClass observable:RecoveredObjectFacet ;
Expand Down

0 comments on commit a12aed4

Please sign in to comment.