https://cacontology.projectvic.org/production#EquipmentUsageValidationShape
Validates that production offenses have appropriate equipment.
Instances of cacontology-production:ProductionOffense can have the following properties:
PROPERTY |
MIN COUNT |
MAX COUNT |
TYPE |
|
|---|---|---|---|---|
| cacontology-production:ProductionOffense | ||||
| 0 | 1 |
xsd:decimal
|
||
| cacontology-production:productionMethod | 1 | 1 |
xsd:string
|
|
| cacontology-production:sessionCount | 0 | 1 |
xsd:nonNegativeInteger
|
|
| cacontology-production:victimCount | 1 | 1 |
xsd:nonNegativeInteger
|
|
| 0 | 1 |
xsd:dateTime
|
||
| 0 | 1 |
xsd:dateTime
|
||
@prefix cacontology-production: <https://cacontology.projectvic.org/production#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
cacontology-production:EquipmentUsageValidationShape a sh:NodeShape ;
rdfs:label "Equipment Usage Validation Shape"@en ;
rdfs:comment "Validates that production offenses have appropriate equipment."@en ;
sh:sparql [ sh:message "Production offense should specify equipment used for recording or streaming."@en ;
sh:select """
SELECT $this
WHERE {
$this a cacontology-production:ProductionOffense ;
cacontology-production:productionMethod ?method .
FILTER (?method IN ("direct_recording", "video_recording", "live_streaming"))
FILTER NOT EXISTS {
$this cacontology-production:usesEquipment ?equipment .
?equipment a cacontology-production:RecordingDevice .
}
}
""" ] ;
sh:targetClass cacontology-production:ProductionOffense .