@prefix : <https://w3id.org/citydata/part2/v1/> .
@prefix cc: <http://creativecommons.org/ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix cdm1: <https://w3id.org/citydata/part1/v1/> .
@base <https://w3id.org/citydata/part2/v1/> .

<https://w3id.org/citydata/part2/v1/AlertPattern> rdf:type owl:Ontology ;
                                                   owl:imports :CodePattern ;
                                                   cc:license "http://creativecommons.org/licenses/by/4.0/" ;
                                                   dcterms:creator "Kenneth Vaughn" ,
                                                                   "Mark Fox" ,
                                                                   "Megan Katsumi" ,
                                                                   "Tom Lusco" ;
                                                   dcterms:modified "2026-02-13"^^xsd:date ;
                                                   dcterms:title "Information technology - City data model - Part 2: City-level concepts - Alert pattern" ;
                                                   vann:preferredNamespacePrefix "cdm2" ;
                                                   vann:preferredNamespaceUri "https://w3id.org/citydata/part2/v1/" ;
                                                   owl:versionIRI <https://w3id.org/citydata/part2/v1/AlertPattern/r0.0/> ;
                                                   owl:versionInfo "1.0.0" ;
                                                   skos:definition "This ontology specifies the city-level concepts for the alert pattern of the city data model." .

#################################################################
#    Object Properties
#################################################################

###  https://w3id.org/citydata/part2/v1/AlertObjectProperty
:AlertObjectProperty rdf:type owl:ObjectProperty ;
                     rdfs:subPropertyOf :CityObjectProperty ;
                     skos:definition "Added for organizational purposes, to identify all object properties defined in the Alert Pattern." .


###  https://w3id.org/citydata/part2/v1/activities
:activities rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :AlertObjectProperty ;
            rdfs:range cdm1:Activity ;
            dcterms:description "activities that caused the described object" .


###  https://w3id.org/citydata/part2/v1/beginInstant
:beginInstant rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf :AlertObjectProperty ;
              rdfs:range time:Instant ;
              dcterms:description "The time that the described object began or is expected to begin. If not specified, the object is assumed to begin at the creation time." .


###  https://w3id.org/citydata/part2/v1/category
:category rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :AlertObjectProperty ;
          rdfs:range :Code ;
          dcterms:description "A code indicating the category of the described object." .


###  https://w3id.org/citydata/part2/v1/cause
:cause rdf:type owl:ObjectProperty ;
       rdfs:subPropertyOf :AlertObjectProperty ;
       rdfs:range :Code ;
       dcterms:description "A code indicating the cause (e.g., construction, collision, weather) of the described object." .


###  https://w3id.org/citydata/part2/v1/certainty
:certainty rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf :AlertObjectProperty ;
           rdfs:range :Code ;
           dcterms:description "The likelihood of the condition occurring." .


###  https://w3id.org/citydata/part2/v1/creationInstant
:creationInstant rdf:type owl:ObjectProperty ;
                 rdfs:subPropertyOf :AlertObjectProperty ;
                 rdfs:range time:Instant ;
                 dcterms:description "The time that the described object was created." .


###  https://w3id.org/citydata/part2/v1/distribution
:distribution rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf :AlertObjectProperty ;
              rdfs:range :Code ;
              dcterms:description "A code indicating the groups who are authorized to receive the object." .


###  https://w3id.org/citydata/part2/v1/effect
:effect rdf:type owl:ObjectProperty ;
        rdfs:subPropertyOf :AlertObjectProperty ;
        rdfs:range :Code ;
        dcterms:description "A code indicating the effect of the alert (e.g., congestion, delays)." .


###  https://w3id.org/citydata/part2/v1/endInstant
:endInstant rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :AlertObjectProperty ;
            rdfs:range time:Instant ;
            dcterms:description "The time that the described object is expected to end; if no end time is specified, it is assumed to be indeterminate." .


###  https://w3id.org/citydata/part2/v1/expiryInstant
:expiryInstant rdf:type owl:ObjectProperty ;
               rdfs:subPropertyOf :AlertObjectProperty ;
               rdfs:range time:Instant ;
               dcterms:description "The time at which the information for the described object is considered no longer valid unless this value is updated." .


###  https://w3id.org/citydata/part2/v1/issuer
:issuer rdf:type owl:ObjectProperty ;
        rdfs:subPropertyOf :AlertDataProperty ;
        rdfs:range cdm1:Agent ;
        dcterms:description "Entity that issued the alert" .


###  https://w3id.org/citydata/part2/v1/lastUpdateInstant
:lastUpdateInstant rdf:type owl:ObjectProperty ;
                   rdfs:subPropertyOf :AlertObjectProperty ;
                   rdfs:range time:Instant ;
                   dcterms:description "The time at which the alert was last updated." .


###  https://w3id.org/citydata/part2/v1/location
:location rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :AlertObjectProperty ;
          rdfs:range geo:Geometry ;
          dcterms:description "A geographic area associated with the alert." .


###  https://w3id.org/citydata/part2/v1/recommendation
:recommendation rdf:type owl:ObjectProperty ;
                rdfs:subPropertyOf :AlertObjectProperty ;
                rdfs:range :Code ;
                dcterms:description "A code providing advice on actions to take (e.g., evacuate, shelter in-place)." .


###  https://w3id.org/citydata/part2/v1/referencedAlert
:referencedAlert rdf:type owl:ObjectProperty ;
                 rdfs:subPropertyOf :AlertObjectProperty ;
                 rdfs:range :Alert ;
                 dcterms:description "Other alerts associated with this alert." .


###  https://w3id.org/citydata/part2/v1/resources
:resources rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf :AlertDataProperty ;
           rdfs:range cdm1:Resource ;
           dcterms:description "additional files that provide additional information" .


###  https://w3id.org/citydata/part2/v1/severity
:severity rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :AlertObjectProperty ;
          rdfs:range :Code ;
          dcterms:description "A code indicating the expected severity of the condition (e.g., life threatening, injury potential)." .


###  https://w3id.org/citydata/part2/v1/status
:status rdf:type owl:ObjectProperty ;
        rdfs:subPropertyOf :AlertObjectProperty ;
        rdfs:range :Code ;
        dcterms:description "The operational status." .


###  https://w3id.org/citydata/part2/v1/urgency
:urgency rdf:type owl:ObjectProperty ;
         rdfs:subPropertyOf :AlertObjectProperty ;
         rdfs:range :Code ;
         dcterms:description "The urgency associated with distributing the alert." .


#################################################################
#    Data properties
#################################################################

###  https://w3id.org/citydata/part2/v1/AlertDataProperty
:AlertDataProperty rdf:type owl:DatatypeProperty ;
                   rdfs:subPropertyOf :CityDataProperty ;
                   skos:definition "Added for organizational purposes, to identify all data properties defined in the Alert Pattern." .


###  https://w3id.org/citydata/part2/v1/headline
:headline rdf:type owl:DatatypeProperty ;
          rdfs:subPropertyOf :AlertDataProperty ;
          rdfs:range xsd:string ;
          dcterms:description "short textual caption" .


###  https://w3id.org/citydata/part2/v1/website
:website rdf:type owl:DatatypeProperty ;
         rdfs:subPropertyOf :AlertDataProperty ;
         rdfs:range xsd:anyURI ;
         dcterms:description "URI that identifies a website" .


#################################################################
#    Classes
#################################################################

###  https://w3id.org/citydata/part2/v1/Alert
:Alert rdf:type owl:Class ;
       rdfs:subClassOf :AlertThing ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :activities ;
                         owl:allValuesFrom cdm1:Activity
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :category ;
                         owl:allValuesFrom :Code
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :cause ;
                         owl:allValuesFrom :Code
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :certainty ;
                         owl:allValuesFrom :Code
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :distribution ;
                         owl:allValuesFrom :Code
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :effect ;
                         owl:allValuesFrom :Code
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :expiryInstant ;
                         owl:allValuesFrom time:Instant
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :location ;
                         owl:allValuesFrom geo:Geometry
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :recommendation ;
                         owl:allValuesFrom :Code
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :referencedAlert ;
                         owl:allValuesFrom :Alert
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :resources ;
                         owl:allValuesFrom cdm1:Resource
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :website ;
                         owl:allValuesFrom xsd:anyURI
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :creationInstant ;
                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass time:Instant
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty cdm1:hasDescription ;
                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onDataRange xsd:string
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :headline ;
                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onDataRange xsd:string
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :issuer ;
                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass cdm1:Agent
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :lastUpdateInstant ;
                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass time:Instant
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :status ;
                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass :Code
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :beginInstant ;
                         owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass time:Instant
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :endInstant ;
                         owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass time:Instant
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :severity ;
                         owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass :Code
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :urgency ;
                         owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass :Code
                       ] ;
       dcterms:description "An Alert can be used to notify people of important information." .


###  https://w3id.org/citydata/part2/v1/AlertThing
:AlertThing rdf:type owl:Class ;
            rdfs:subClassOf :CityThing ;
            skos:definition "Added for organizational purposes, to identify classes defined for the Alert Pattern." .
