Ontology Version: 2.2.0

cacontology-forensics:ChainOfCustodyActionShape leaf node


URI

https://cacontology.projectvic.org/forensics#ChainOfCustodyActionShape

Label

Chain of Custody Action Shape

Shape Properties

Instances of cacontology-forensics:ChainOfCustodyAction can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

cacontology-forensics:ChainOfCustodyAction
1 xsd:string
cacontology-forensics:custodyReason 1 1 xsd:string
cacontology-forensics:custodyTransferredFrom 1 1 uco-core:UcoObject
cacontology-forensics:custodyTransferredTo 1 1 uco-core:UcoObject
1 1 xsd:dateTimeStamp
1 xsd:dateTimeStamp
1 1 xsd:dateTime

Implementation

@prefix cacontology-forensics: <https://cacontology.projectvic.org/forensics#> .
@prefix gufo: <http://purl.org/nemo/gufo#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix uco-core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-forensics:ChainOfCustodyActionShape a sh:NodeShape ;
    rdfs:label "Chain of Custody Action Shape"@en ;
    sh:property [ sh:datatype xsd:dateTimeStamp ;
            sh:maxCount 1 ;
            sh:message "Chain of custody transfer must have exactly one begin timestamp (gUFO temporal)"@en ;
            sh:minCount 1 ;
            sh:path gufo:hasBeginPointInXSDDateTimeStamp ],
        [ sh:datatype xsd:dateTimeStamp ;
            sh:maxCount 1 ;
            sh:message "Chain of custody transfer must have at most one end timestamp (gUFO temporal)"@en ;
            sh:path gufo:hasEndPointInXSDDateTimeStamp ],
        [ sh:datatype xsd:dateTime ;
            sh:maxCount 1 ;
            sh:message "A chain of custody action must have exactly one start time"@en ;
            sh:minCount 1 ;
            sh:path uco-core:startTime ],
        [ sh:class uco-core:UcoObject ;
            sh:maxCount 1 ;
            sh:message "A chain of custody action must specify exactly one transferring party"@en ;
            sh:minCount 1 ;
            sh:path cacontology-forensics:custodyTransferredFrom ],
        [ sh:class uco-core:UcoObject ;
            sh:maxCount 1 ;
            sh:message "A chain of custody action must specify exactly one receiving party"@en ;
            sh:minCount 1 ;
            sh:path cacontology-forensics:custodyTransferredTo ],
        [ sh:datatype xsd:string ;
            sh:in ( "analysis" "storage" "transport" "examination" "disposal" "court-presentation" ) ;
            sh:maxCount 1 ;
            sh:message "Custody reason must be from allowed list: analysis, storage, transport, examination, disposal, court-presentation"@en ;
            sh:minCount 1 ;
            sh:path cacontology-forensics:custodyReason ],
        [ sh:datatype xsd:string ;
            sh:in ( "maintained" "compromised" "unknown" ) ;
            sh:maxCount 1 ;
            sh:message "Custody integrity must be maintained, compromised, or unknown (gUFO quality aspect)"@en ;
            sh:path cacontology-forensics:custodyIntegrity ] ;
    sh:targetClass cacontology-forensics:ChainOfCustodyAction .