Ontology Version: 2.2.0

cacontology-sentencing:LegalChargeShape leaf node


URI

https://cacontology.projectvic.org/sentencing#LegalChargeShape

Label

Legal Charge Shape

Description

Validation shape for legal charge instances.

Implementation

@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:LegalChargeShape a sh:NodeShape ;
    rdfs:label "Legal Charge Shape"@en ;
    rdfs:comment "Validation shape for legal charge instances."@en ;
    sh:property [ sh:datatype xsd:string ;
            sh:in ( "felony" "misdemeanor" "infraction" "violation" "contempt" "federal_crime" ) ;
            sh:maxCount 1 ;
            sh:message "Legal charge must specify charge type from the allowed list."@en ;
            sh:minCount 1 ;
            sh:path cacontology-sentencing:chargeType ],
        [ sh:datatype xsd:string ;
            sh:in ( "class_a" "class_b" "class_c" "class_d" "class_e" "unclassified" "capital" ) ;
            sh:maxCount 1 ;
            sh:message "Legal charge must specify charge class from the allowed list."@en ;
            sh:minCount 1 ;
            sh:path cacontology-sentencing:chargeClass ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:maxLength 100 ;
            sh:message "Legal charge must specify statute reference (5-100 characters)."@en ;
            sh:minCount 1 ;
            sh:minLength 5 ;
            sh:path cacontology-sentencing:statuteReference ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:maxInclusive 99.0 ;
            sh:message "Maximum penalty must be between 0 and 99 years."@en ;
            sh:minCount 1 ;
            sh:minInclusive 0.0 ;
            sh:path cacontology-sentencing:maximumPenalty ],
        [ sh:datatype xsd:string ;
            sh:in ( "guilty" "not_guilty" "no_contest" "alford_plea" "not_entered" ) ;
            sh:maxCount 1 ;
            sh:message "Plea entered must be from the allowed list."@en ;
            sh:minCount 0 ;
            sh:path cacontology-sentencing:pleaEntered ] ;
    sh:targetClass cacontology-sentencing:LegalCharge .