https://cacontology.projectvic.org/trafficking/shapes#TraffickerRoleShape
Validates that trafficker roles are modeled as gUFO roles with optional hierarchy and control properties.
Instances of cacontology-trafficking:TraffickerRole can have the following properties:
PROPERTY |
MIN COUNT |
MAX COUNT |
TYPE |
|
|---|---|---|---|---|
| cacontology-trafficking:TraffickerRole | ||||
| cacontology-trafficking:controlsVictim |
cacontology-trafficking:TraffickingVictimRole
|
|||
| cacontology-trafficking:hasHierarchyLevel | 1 |
xsd:integer
|
||
@prefix cacontology-trafficking: <https://cacontology.projectvic.org/trafficking#> .
@prefix cacontology-trafficking-shapes: <https://cacontology.projectvic.org/trafficking/shapes#> .
@prefix gufo: <http://purl.org/nemo/gufo#> .
@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-trafficking-shapes:TraffickerRoleShape a sh:NodeShape ;
rdfs:label "Trafficker Role Shape"@en ;
rdfs:comment "Validates that trafficker roles are modeled as gUFO roles with optional hierarchy and control properties."@en ;
sh:property [ sh:hasValue gufo:Role ;
sh:message "Trafficker roles should be typed as gufo:Role (anti-rigid sortal)."@en ;
sh:path rdf:type ],
[ sh:datatype xsd:integer ;
sh:maxCount 1 ;
sh:message "Hierarchy level, when provided, must be a single xsd:integer value."@en ;
sh:path cacontology-trafficking:hasHierarchyLevel ],
[ sh:class cacontology-trafficking:TraffickingVictimRole ;
sh:message "controlsVictim links should point to TraffickingVictimRole instances."@en ;
sh:path cacontology-trafficking:controlsVictim ] ;
sh:targetClass cacontology-trafficking:TraffickerRole .