https://cacontology.projectvic.org/tactical#TacticalOperationCrossReferenceShape
Validates cross-references between tactical operations and related entities.
Instances of cacontology-tactical:TacticalOperation can have the following properties:
PROPERTY |
MIN COUNT |
MAX COUNT |
TYPE |
|
|---|---|---|---|---|
| cacontology-tactical:TacticalOperation | ||||
| 1 | 1 |
xsd:string
|
||
| 1 | 1 |
xsd:string
|
||
| cacontology-tactical:operationType | 1 | 1 |
xsd:string
|
|
| 1 | 1 |
xsd:nonNegativeInteger
|
||
| cacontology-tactical:planningDuration | 0 | 1 |
xsd:decimal
|
|
| cacontology-tactical:riskLevel | 1 | 1 |
xsd:string
|
|
| 0 | 1 |
xsd:dateTime
|
||
| 0 | 1 |
xsd:dateTime
|
||
@prefix cacontology-tactical: <https://cacontology.projectvic.org/tactical#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
cacontology-tactical:TacticalOperationCrossReferenceShape a sh:NodeShape ;
rdfs:label "Tactical Operation Cross Reference Shape"@en ;
rdfs:comment "Validates cross-references between tactical operations and related entities."@en ;
sh:sparql [ sh:message "Tactical operation must have executing team, plan, and briefing."@en ;
sh:select """
SELECT $this
WHERE {
$this a cacontology-tactical:TacticalOperation .
FILTER NOT EXISTS {
$this cacontology-tactical:executedByTeam ?team ;
cacontology-tactical:followsPlan ?plan ;
cacontology-tactical:includesBriefing ?briefing .
}
}
""" ] ;
sh:targetClass cacontology-tactical:TacticalOperation .