Ontology Version: 2.2.0

hotline:HotlineReportShape leaf node


URI

https://cacontology.projectvic.org/hotlines/core#HotlineReportShape

Label

Hotline Report Shape

Description

Enhanced SHACL shape for hotline reports with gUFO Situation validation and comprehensive temporal constraints.

Target Classes (1)

Shape Properties

Instances of hotline:HotlineReport can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

hotline:HotlineReport
hotline:currentPhase 1 gufo:Phase
hotline:hasEvidence 1 hotline:EvidenceItem
hotline:intakeChannel 1 hotline:IntakeChannel
hotline:involvesCoordination hotline:MultiAgencyCoordination
hotline:receivedBy 1 hotline:HotlineOrganization
hotline:reportedBy 1
hotline:status 1

Implementation

@prefix gufo: <http://purl.org/nemo/gufo#> .
@prefix hotline: <https://cacontology.projectvic.org/hotlines/core#> .
@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#> .
hotline:HotlineReportShape a sh:NodeShape ;
    rdfs:label "Hotline Report Shape"@en ;
    rdfs:comment "Enhanced SHACL shape for hotline reports with gUFO Situation validation and comprehensive temporal constraints."@en ;
    sh:property [ sh:message "A hotline report must have at least one reporter"@en ;
            sh:minCount 1 ;
            sh:path hotline:reportedBy ],
        [ sh:class hotline:HotlineOrganization ;
            sh:message "A hotline report must be received by a hotline organization"@en ;
            sh:minCount 1 ;
            sh:path hotline:receivedBy ],
        [ sh:class hotline:EvidenceItem ;
            sh:message "A hotline report must have at least one evidence item"@en ;
            sh:minCount 1 ;
            sh:path hotline:hasEvidence ],
        [ sh:class hotline:IntakeChannel ;
            sh:message "A hotline report must specify its intake channel"@en ;
            sh:minCount 1 ;
            sh:path hotline:intakeChannel ],
        [ sh:message "A hotline report must have a status"@en ;
            sh:minCount 1 ;
            sh:path hotline:status ],
        [ sh:hasValue gufo:Situation ;
            sh:message "Hotline reports must be instances of gUFO Situation"@en ;
            sh:path rdf:type ],
        [ sh:class gufo:Phase ;
            sh:message "A hotline report must have a current operational phase"@en ;
            sh:minCount 1 ;
            sh:path hotline:currentPhase ],
        [ sh:class hotline:MultiAgencyCoordination ;
            sh:message "Multi-agency coordination must be a valid gUFO Situation"@en ;
            sh:path hotline:involvesCoordination ] ;
    sh:targetClass hotline:HotlineReport .