Ontology Version: 2.2.0

cacontology-detection:DetectionWorkflowTemporalShape leaf node


URI

https://cacontology.projectvic.org/detection#DetectionWorkflowTemporalShape

Label

Detection Workflow Temporal Shape

Description

Validates temporal workflow progression in detection processes.

Shape Properties

Instances of cacontology-detection:ManualClassificationAction can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

cacontology-detection:ManualClassificationAction
cacontology-detection:hasDetectionBeginPoint 1 xsd:dateTimeStamp
cacontology-detection:hasDetectionEndPoint 1 xsd:dateTimeStamp
cacontology-detection:reviewDecision 0 1 xsd:string
1
1 1 uco-identity:Person
1 1 xsd:dateTime

Implementation

@prefix cacontology-detection: <https://cacontology.projectvic.org/detection#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-detection:DetectionWorkflowTemporalShape a sh:NodeShape ;
    rdfs:label "Detection Workflow Temporal Shape"@en ;
    rdfs:comment "Validates temporal workflow progression in detection processes."@en ;
    sh:sparql [ sh:message "Manual classification should follow automated detection"@en ;
            sh:prefixes [ sh:declare [ sh:namespace "https://cacontology.projectvic.org/detection#"^^xsd:anyURI ;
                            sh:prefix "cacontology-detection" ] ] ;
            sh:select """
            PREFIX cacontology-detection: <https://cacontology.projectvic.org/detection#>
            PREFIX uco-core: <https://ontology.unifiedcyberontology.org/uco/core/>
            PREFIX uco-action: <https://ontology.unifiedcyberontology.org/uco/action/>
            SELECT ?this
            WHERE {
                ?this a cacontology-detection:ManualClassificationAction ;
                      uco-core:startTime ?manualTime .
                ?autoDetection a cacontology-detection:AutomatedDetectionAction ;
                               uco-core:startTime ?autoTime ;
                               uco-action:object ?content .
                ?this uco-action:object ?content .
                FILTER (?manualTime < ?autoTime)
            }
        """ ] ;
    sh:targetClass cacontology-detection:ManualClassificationAction .