https://cacontology.projectvic.org/tactical#TacticalPlanShape
Validation shape for tactical plan instances.
@prefix cacontology-tactical: <https://cacontology.projectvic.org/tactical#> .
@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 xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-tactical:TacticalPlanShape a sh:NodeShape ;
rdfs:label "Tactical Plan Shape"@en ;
rdfs:comment "Validation shape for tactical plan instances."@en ;
sh:property [ sh:datatype xsd:string ;
sh:in ( "operation_plan" "contingency_plan" "emergency_plan" "standard_plan" "specialized_plan" "multi_phase_plan" ) ;
sh:maxCount 1 ;
sh:message "Tactical plan must specify plan type from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-tactical:planType ],
[ sh:datatype xsd:string ;
sh:in ( "simple" "moderate" "complex" "highly_complex" "multi_dimensional" ) ;
sh:maxCount 1 ;
sh:message "Tactical plan must specify plan complexity from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-tactical:planComplexity ],
[ sh:datatype xsd:string ;
sh:in ( "supervisor" "commander" "chief" "federal_approval" "multi_agency_approval" "judicial_approval" ) ;
sh:maxCount 1 ;
sh:message "Tactical plan must specify approval level from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-tactical:approvalLevel ],
[ sh:datatype xsd:string ;
sh:in ( "draft" "review" "approved" "active" "executed" "archived" "cancelled" ) ;
sh:maxCount 1 ;
sh:message "Tactical plan must specify plan status from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-tactical:planStatus ],
[ sh:datatype xsd:string ;
sh:in ( "low_risk" "moderate_risk" "high_risk" "extreme_risk" "critical_risk" ) ;
sh:maxCount 1 ;
sh:message "Tactical plan must specify risk assessment from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-tactical:riskAssessment ],
[ sh:datatype xsd:nonNegativeInteger ;
sh:maxCount 1 ;
sh:maxInclusive 10 ;
sh:message "Number of contingency plans must be between 0 and 10."@en ;
sh:minCount 0 ;
sh:minInclusive 0 ;
sh:path cacontology-tactical:contingencyPlans ] ;
sh:targetClass cacontology-tactical:TacticalPlan .