Ontology Version: 3.1.0

cacontology-forensics:ChainOfCustodyActionShape leaf node


URI

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

Label

Chain of Custody Action Shape

Targets (1)

Property Constraints (7)

Focus nodes of this shape (cacontology-forensics:ChainOfCustodyAction) can have the following properties:

PROPERTY DESCRIPTION MIN MAX VALUE TYPE OTHER CONSTRAINTS
cacontology-forensics:custodyIntegrity
sh:message Custody integrity must be maintained, compromised, or unknown (gUFO quality aspect)
0 1 xsd:string
sh:in maintained, compromised, unknown
cacontology-forensics:custodyReason The reason for the custody transfer (e.g., 'forensic analysis', 'court exhibit', 'secure storage').
sh:message Custody reason must be from allowed list: analysis, storage, transport, examination, disposal, court-presentation
1 1 xsd:string
sh:in analysis, storage, transport, examination, disposal, court-presentation
cacontology-forensics:custodyTransferredFrom Links a chain of custody action to the person or organization transferring custody.
sh:message A chain of custody action must specify exactly one transferring party
1 1 uco-core:UcoObject
cacontology-forensics:custodyTransferredTo Links a chain of custody action to the person or organization receiving custody.
sh:message A chain of custody action must specify exactly one receiving party
1 1 uco-core:UcoObject
gufo:hasBeginPointInXSDDateTimeStamp
sh:message Chain of custody transfer must have exactly one begin timestamp (gUFO temporal)
1 1 xsd:dateTimeStamp
gufo:hasEndPointInXSDDateTimeStamp
sh:message Chain of custody transfer must have at most one end timestamp (gUFO temporal)
0 1 xsd:dateTimeStamp
uco-core:startTime
sh:message A chain of custody action must have exactly one start time
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 .