https://cacontology.projectvic.org/sentencing#RestitutionOrderShape
Validation shape for restitution order instances.
@prefix cacontology-sentencing: <https://cacontology.projectvic.org/sentencing#> .
@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-sentencing:RestitutionOrderShape a sh:NodeShape ;
rdfs:label "Restitution Order Shape"@en ;
rdfs:comment "Validation shape for restitution order instances."@en ;
sh:property [ sh:datatype xsd:decimal ;
sh:maxCount 1 ;
sh:maxInclusive 10000000.0 ;
sh:message "Restitution amount must be between $1 and $10,000,000."@en ;
sh:minCount 1 ;
sh:minInclusive 1.0 ;
sh:path cacontology-sentencing:restitutionAmount ],
[ sh:datatype xsd:string ;
sh:in ( "lump_sum" "monthly_payments" "quarterly_payments" "annual_payments" "income_based" "deferred" ) ;
sh:maxCount 1 ;
sh:message "Restitution order must specify payment schedule from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-sentencing:paymentSchedule ],
[ sh:datatype xsd:nonNegativeInteger ;
sh:maxCount 1 ;
sh:maxInclusive 1000 ;
sh:message "Restitution order must specify victim count between 1 and 1000."@en ;
sh:minCount 1 ;
sh:minInclusive 1 ;
sh:path cacontology-sentencing:victimCount ],
[ sh:datatype xsd:string ;
sh:in ( "pending" "current" "delinquent" "completed" "defaulted" "modified" ) ;
sh:maxCount 1 ;
sh:message "Payment status must be from the allowed list."@en ;
sh:minCount 0 ;
sh:path cacontology-sentencing:paymentStatus ] ;
sh:targetClass cacontology-sentencing:RestitutionOrder .