https://cacontology.projectvic.org/physical-evidence/shapes#SuspectVehicleShape
Validation shape for suspect vehicles used in ICAC offenses.
@prefix cacontology-physical-shapes: <https://cacontology.projectvic.org/physical-evidence/shapes#> .
@prefix cacontology-physical1: <https://cacontology.projectvic.org/physical-evidence#> .
@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-physical-shapes:SuspectVehicleShape a sh:NodeShape ;
rdfs:label "Suspect Vehicle Shape"@en ;
rdfs:comment "Validation shape for suspect vehicles used in ICAC offenses."@en ;
sh:property [ sh:datatype rdf:langString ;
sh:maxCount 1 ;
sh:message "Suspect vehicle should have a label."@en ;
sh:minCount 0 ;
sh:path rdfs:label ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:maxLength 50 ;
sh:message "Vehicle make should be between 1 and 50 characters."@en ;
sh:minCount 0 ;
sh:minLength 1 ;
sh:path cacontology-physical1:vehicleMake ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:maxLength 50 ;
sh:message "Vehicle model should be between 1 and 50 characters."@en ;
sh:minCount 0 ;
sh:minLength 1 ;
sh:path cacontology-physical1:vehicleModel ],
[ sh:datatype xsd:nonNegativeInteger ;
sh:maxCount 1 ;
sh:maxInclusive 2030 ;
sh:message "Vehicle year must be between 1900 and 2030."@en ;
sh:minCount 0 ;
sh:minInclusive 1900 ;
sh:path cacontology-physical1:vehicleYear ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "May specify the vehicle color."@en ;
sh:minCount 0 ;
sh:path cacontology-physical1:vehicleColor ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:maxLength 20 ;
sh:message "License plate should be between 1 and 20 characters."@en ;
sh:minCount 0 ;
sh:minLength 1 ;
sh:path cacontology-physical1:vehicleLicensePlate ],
[ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:message "VIN must be exactly 17 alphanumeric characters (no I, O, Q)."@en ;
sh:minCount 0 ;
sh:path cacontology-physical1:vehicleVIN ;
sh:pattern "^[A-HJ-NPR-Z0-9]{17}$" ],
[ sh:datatype xsd:boolean ;
sh:maxCount 1 ;
sh:message "May specify if vehicle is registered to suspect."@en ;
sh:minCount 0 ;
sh:path cacontology-physical1:registeredToSuspect ],
[ sh:datatype xsd:boolean ;
sh:maxCount 1 ;
sh:message "May specify if vehicle was used in offense."@en ;
sh:minCount 0 ;
sh:path cacontology-physical1:usedInOffense ] ;
sh:targetClass cacontology-physical1:SuspectVehicle .