Ontology Version: 3.1.0

cacontology-legal-outcomes:TemporalValidationShape leaf node


URI

https://cacontology.projectvic.org/legal-outcomes#TemporalValidationShape

Label

Temporal Validation Shape

Description

Validates temporal consistency in conviction records.

Shape Properties

Instances of cacontology-legal-outcomes:ConvictionRecord can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

cacontology-legal-outcomes:ConvictionRecord
cacontology-legal-outcomes:chargeCount 1 1 xsd:nonNegativeInteger
cacontology-legal-outcomes:convictionDate 1 1 xsd:dateTime
cacontology-legal-outcomes:convictionType 1 1 xsd:string
cacontology-legal-outcomes:priorConvictions 0 1 xsd:nonNegativeInteger

Implementation

@prefix cacontology-legal-outcomes: <https://cacontology.projectvic.org/legal-outcomes#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
cacontology-legal-outcomes:TemporalValidationShape a sh:NodeShape ;
    rdfs:label "Temporal Validation Shape"@en ;
    rdfs:comment "Validates temporal consistency in conviction records."@en ;
    sh:sparql [ sh:message "Conviction date must be before or equal to sentence date."@en ;
            sh:select """
            SELECT $this
            WHERE {
                $this cacontology-legal-outcomes:convictionDate ?convictionDate .
                ?sentence cacontology-legal-outcomes:resultsFromCharge ?charge ;
                         cacontology-legal-outcomes:sentenceDate ?sentenceDate .
                ?charge cacontology-legal-outcomes:convictionRecord $this .
                FILTER (?convictionDate > ?sentenceDate)
            }
        """ ] ;
    sh:targetClass cacontology-legal-outcomes:ConvictionRecord .