https://cacontology.projectvic.org/platforms#ChannelMigrationEventShape
Validation shape for cross-platform channel migration events.
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
|
|
@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 .