Ontology Version: 3.1.0

hotline:EvidenceItemShape leaf node


URI

https://cacontology.projectvic.org/hotlines#EvidenceItemShape

Label

Evidence Item Shape

Description

Enhanced SHACL shape for evidence items with gUFO Object validation and comprehensive metadata requirements.

Targets (1)

Property Constraints (2)

Focus nodes of this shape (hotline:EvidenceItem) can have the following properties:

PROPERTY DESCRIPTION MIN MAX VALUE TYPE OTHER CONSTRAINTS
hotline:firstSeen The date and time when an evidence item was first seen.
sh:message An evidence item must have a first seen timestamp
1 * xsd:dateTime
uco-core:hasFacet
sh:message An evidence item must have at least one facet
1 *

Implementation

@prefix hotline: <https://cacontology.projectvic.org/hotlines#> .
@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#> .
hotline:EvidenceItemShape a sh:NodeShape ;
    rdfs:label "Evidence Item Shape"@en ;
    rdfs:comment "Enhanced SHACL shape for evidence items with gUFO Object validation and comprehensive metadata requirements."@en ;
    sh:property [ sh:message "An evidence item must have at least one facet"@en ;
            sh:minCount 1 ;
            sh:path uco-core:hasFacet ],
        [ sh:datatype xsd:dateTime ;
            sh:message "An evidence item must have a first seen timestamp"@en ;
            sh:minCount 1 ;
            sh:path hotline:firstSeen ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
            INSERT { $this a hotline:TemporalInconsistencyError . }
            WHERE {
                ?report hotline:hasEvidence $this .
                $this hotline:firstSeen ?evidenceTime ;
                ?report uco-core:createdTime ?reportTime .
                FILTER(?evidenceTime > ?reportTime)
            }
        """ ;
            sh:message "Evidence first seen time must be before report submission time"@en ;
            sh:prefixes hotline: ;
            sh:severity sh:Violation ] ;
    sh:targetClass hotline:EvidenceItem .