Ontology Version: 3.1.0

cacontology-platforms:ChannelMigrationEventShape leaf node


URI

https://cacontology.projectvic.org/platforms#ChannelMigrationEventShape

Label

Channel Migration Event Shape

Description

Validation shape for cross-platform channel migration events.

Shape Properties

Instances of cacontology-platforms:ChannelMigrationEvent can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

cacontology-platforms:ChannelMigrationEvent
cacontology-platforms:fromPlatform 1 1 uco-observable:DigitalService
cacontology-platforms:migrationRationale 1 1 xsd:string
cacontology-platforms:occursBetween 2 cac-core:Phase
cacontology-platforms:toPlatform 1 1 uco-observable:DigitalService

Implementation

@prefix cac-core: <https://cacontology.projectvic.org/core#> .
@prefix cacontology-platforms: <https://cacontology.projectvic.org/platforms#> .
@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-observable: <https://ontology.unifiedcyberontology.org/uco/observable/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-platforms:ChannelMigrationEventShape a sh:NodeShape ;
    rdfs:label "Channel Migration Event Shape"@en ;
    rdfs:comment "Validation shape for cross-platform channel migration events."@en ;
    sh:property [ sh:class uco-observable:DigitalService ;
            sh:maxCount 1 ;
            sh:message "Channel migration must specify exactly one originating platform."@en ;
            sh:minCount 1 ;
            sh:path cacontology-platforms:fromPlatform ],
        [ sh:class uco-observable:DigitalService ;
            sh:maxCount 1 ;
            sh:message "Channel migration must specify exactly one destination platform."@en ;
            sh:minCount 1 ;
            sh:path cacontology-platforms:toPlatform ],
        [ sh:datatype xsd:string ;
            sh:in ( "capability_upgrade" "evidence_evasion" "both" ) ;
            sh:maxCount 1 ;
            sh:message "Migration rationale must be capability_upgrade, evidence_evasion, or both."@en ;
            sh:minCount 1 ;
            sh:path cacontology-platforms:migrationRationale ],
        [ sh:class cac-core:Phase ;
            sh:message "Channel migration must separate at least two offense phases via occursBetween."@en ;
            sh:minCount 2 ;
            sh:path cacontology-platforms:occursBetween ] ;
    sh:targetClass cacontology-platforms:ChannelMigrationEvent .