Ontology Version: 2.2.0

cacontology-legal-shapes:AssessmentTemporalShape leaf node


URI

https://cacontology.projectvic.org/legal-harmonization/shapes#AssessmentTemporalShape

Label

Assessment Temporal Shape

Description

Validates temporal constraints for legal assessments and reviews.

Shape Properties

Instances of cacontology-legal:LegislativeAssessment can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

cacontology-legal:LegislativeAssessment
cacontology-legal:hasAssessmentReliability 1 xsd:double
cacontology-legal:hasDataQuality 1 xsd:string
cacontology-legal:legislativeCompliance 1 1 xsd:decimal
1
1 1 xsd:dateTime

Implementation

@prefix cacontology-legal: <https://cacontology.projectvic.org/legal-harmonization#> .
@prefix cacontology-legal-shapes: <https://cacontology.projectvic.org/legal-harmonization/shapes#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix uco-core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-legal-shapes:AssessmentTemporalShape a sh:NodeShape ;
    rdfs:label "Assessment Temporal Shape"@en ;
    rdfs:comment "Validates temporal constraints for legal assessments and reviews."@en ;
    sh:property [ sh:datatype xsd:dateTime ;
            sh:maxCount 1 ;
            sh:message "Assessments should specify start time"@en ;
            sh:path uco-core:startTime ;
            sh:severity sh:Info ],
        [ sh:datatype xsd:dateTime ;
            sh:maxCount 1 ;
            sh:message "Assessments should specify end time"@en ;
            sh:path uco-core:endTime ;
            sh:severity sh:Info ] ;
    sh:sparql [ sh:message "Assessment end time must be after start time"@en ;
            sh:prefixes [ sh:declare [ sh:namespace "https://ontology.unifiedcyberontology.org/uco/core/"^^xsd:anyURI ;
                            sh:prefix "uco-core" ] ] ;
            sh:select """
            SELECT $this
            WHERE {
                $this uco-core:startTime ?start .
                $this uco-core:endTime ?end .
                FILTER (?end <= ?start)
            }
        """ ;
            sh:severity sh:Violation ] ;
    sh:targetClass cacontology-legal:GlobalLegalReview,
        cacontology-legal:LegislativeAssessment .