@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 i72: <https://w3id.org/citydata/21972/v1/> .
@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/CityServicePattern> rdf:type owl:Ontology ;
                                                         owl:imports :PersonPattern ;
                                                         cc:license "http://creativecommons.org/licenses/by/4.0/" ;
                                                         dcterms:creator "Kenneth Vaughn" ,
                                                                         "Mark Fox" ,
                                                                         "Megan Katsumi" ;
                                                         dcterms:modified "2026-02-12"^^xsd:date ;
                                                         dcterms:title "Information technology - City data model - Part 2: City level concepts - City service pattern" ;
                                                         dcterms:bibliographicCitation "ISO/IEC 5087-2:2024" ;
                                                         vann:preferredNamespacePrefix "cdm2" ;
                                                         vann:preferredNamespaceUri "https://w3id.org/citydata/part2/v1/" ;
                                                         rdfs:seeAlso <https://www.iso.org/standard/80742.html> ;
                                                         rdfs:comment "The prior version of this ontology used a different ontology IRI. This update remains semantically consistent with the version adopted as ISO 5087-2:2024." ;
                                                         owl:priorVersion <https://standards.iso.org/iso-iec/5087/-2/ed-1/en/ontology/CityService/> ;
                                                         owl:versionIRI <https://w3id.org/citydata/part2/v1/CityServicePattern/r3.0/> ;
                                                         owl:versionInfo "1.3.0" ;
                                                         skos:definition "This ontology specifies the city-level concepts for the city service pattern of the city data model. Cities provide a variety of services to residents and businesses, including health and social services. The city service ontology, is based on the Canadian Government Reference Model (CGRM). See Wiseman, R. (2015). Canadian Governments Reference Models. In Service Systems Science (pp. 109-128). Springer, Tokyo." .

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

###  https://w3id.org/citydata/part2/v1/CityServiceObjectProperty
:CityServiceObjectProperty rdf:type owl:ObjectProperty ;
                           rdfs:subPropertyOf :CityObjectProperty ;
                           skos:definition "Added for organizational purposes, to identify object properties defined for the City Service Pattern in the City-level CDM ontology." .


###  https://w3id.org/citydata/part2/v1/fromPerspectiveOf
:fromPerspectiveOf rdf:type owl:ObjectProperty ;
                   rdfs:subPropertyOf :CityServiceObjectProperty ;
                   rdfs:domain :Outcome ;
                   rdfs:range :Stakeholder ;
                   skos:definition "Identifies the Stakeholder who is determining the importance of the Impact." .


###  https://w3id.org/citydata/part2/v1/hasBeneficialStakeholder
:hasBeneficialStakeholder rdf:type owl:ObjectProperty ;
                          rdfs:subPropertyOf :CityServiceObjectProperty ;
                          rdfs:range :Stakeholder ;
                          skos:definition "Identifies the Stakeholder who is benefiting from the object." .


###  https://w3id.org/citydata/part2/v1/hasCatchmentArea
:hasCatchmentArea rdf:type owl:ObjectProperty ;
                  rdfs:subPropertyOf :CityServiceObjectProperty ;
                  rdfs:domain :Stakeholder ;
                  rdfs:range cdm1:Location ;
                  skos:definition "Identifies the regional span of the stakeholders." .


###  https://w3id.org/citydata/part2/v1/hasCatchmentAreaType
:hasCatchmentAreaType rdf:type owl:ObjectProperty ;
                      rdfs:subPropertyOf :CityServiceObjectProperty ;
                      rdfs:domain :Stakeholder ;
                      rdfs:range :CatchmentAreaType ;
                      skos:definition "Identifies the type of regional span of the stakeholders." ;
                      skos:example "local, provincial" .


###  https://w3id.org/citydata/part2/v1/hasContributingStakeholder
:hasContributingStakeholder rdf:type owl:ObjectProperty ;
                            rdfs:subPropertyOf :CityServiceObjectProperty ;
                            rdfs:range :Stakeholder ;
                            skos:definition "Identifies the stakeholders that contribute to the domain object." .


###  https://w3id.org/citydata/part2/v1/hasImportance
:hasImportance rdf:type owl:ObjectProperty ;
               rdfs:subPropertyOf :CityServiceObjectProperty ;
               rdfs:domain :Outcome ;
               rdfs:range :Importance ;
               skos:definition "Specifies how important the Outcome is." ;
               skos:example "high, medium, low" .


###  https://w3id.org/citydata/part2/v1/hasIndicator
:hasIndicator rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf :CityServiceObjectProperty ;
              rdfs:domain :Outcome ;
              rdfs:range i72:Indicator ;
              skos:definition "identifies an Indicator used to measure to the Outcome." .


###  https://w3id.org/citydata/part2/v1/hasInput
:hasInput rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :CityServiceObjectProperty ;
          rdfs:range :Input ;
          skos:definition "Identifies an input used in the domain object." .


###  https://w3id.org/citydata/part2/v1/hasOutcome
:hasOutcome rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :CityServiceObjectProperty ;
            rdfs:range :Outcome ;
            skos:definition "Identifies the Outcomes or expected Outcomes of the domain object." .


###  https://w3id.org/citydata/part2/v1/hasOutput
:hasOutput rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf :CityServiceObjectProperty ;
           rdfs:range :Output ;
           skos:definition "Identifies an output produced by the domain object." .


###  https://w3id.org/citydata/part2/v1/hasService
:hasService rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :CityServiceObjectProperty ;
            rdfs:range :Service ;
            skos:definition "Identifies the Services that make up the domain object." .


###  https://w3id.org/citydata/part2/v1/intendedImpact
:intendedImpact rdf:type owl:ObjectProperty ;
                rdfs:subPropertyOf :CityServiceObjectProperty ;
                skos:definition "identifies the intended impact." ;
                skos:example "Direction of change in a parameter (e.g. positive, negative)" .


###  https://w3id.org/citydata/part2/v1/performs
:performs rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :CityServiceObjectProperty ;
          rdfs:range cdm1:Activity ;
          skos:definition "Identifies activities performed by the domain object." .


###  https://w3id.org/citydata/part2/v1/usedByIndicator
:usedByIndicator rdf:type owl:ObjectProperty ;
                 rdfs:subPropertyOf :CityServiceObjectProperty ;
                 rdfs:domain :Output ;
                 rdfs:range i72:Indicator ;
                 skos:definition "Identifies the Indicators that use this Output in determining the value of the Indicator." .


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

###  https://w3id.org/citydata/part2/v1/CatchmentAreaType
:CatchmentAreaType rdf:type owl:Class ;
                   rdfs:subClassOf :CityServiceThing ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :hasCode ;
                                     owl:allValuesFrom :Code
                                   ] ;
                   skos:definition "Catchment Area Type is a type of Code that describes the type of catchment area that stakeholders represent" .


###  https://w3id.org/citydata/part2/v1/CityServiceThing
:CityServiceThing rdf:type owl:Class ;
                  rdfs:subClassOf :CityThing ;
                  skos:definition "Added for organizational purposes, to identify classes defined in the City Service ontology." .


###  https://w3id.org/citydata/part2/v1/ImpactDirection
:ImpactDirection rdf:type owl:Class ;
                 rdfs:subClassOf :CityServiceThing ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :hasCode ;
                                   owl:allValuesFrom :Code
                                 ] ;
                 skos:definition "Impact Direction is a type of Code that describes the direction of impact of an event or action." .


###  https://w3id.org/citydata/part2/v1/Importance
:Importance rdf:type owl:Class ;
            rdfs:subClassOf :CityServiceThing ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :hasCode ;
                              owl:allValuesFrom :Code
                            ] ;
            skos:definition "Importance is a type of Code that describes the level of importance of an event or action." .


###  https://w3id.org/citydata/part2/v1/Input
:Input rdf:type owl:Class ;
       rdfs:subClassOf cdm1:TerminalResourceState ,
                       :CityServiceThing ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty i72:for_time_interval ;
                         owl:allValuesFrom time:DateTimeInterval
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :hasContributingStakeholder ;
                         owl:allValuesFrom :Stakeholder
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty cdm1:hasDescription ;
                         owl:allValuesFrom xsd:string
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty cdm1:hasName ;
                         owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onDataRange xsd:string
                       ] ;
       skos:definition "Input defines the resources and the stakeholders that are needed for an Activity." .


###  https://w3id.org/citydata/part2/v1/Outcome
:Outcome rdf:type owl:Class ;
         rdfs:subClassOf :CityServiceThing ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasIndicator ;
                           owl:allValuesFrom i72:Indicator
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :fromPerspectiveOf ;
                           owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onClass :Stakeholder
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasBeneficialStakeholder ;
                           owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onClass :Stakeholder
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty cdm1:hasDescription ;
                           owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onDataRange xsd:string
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasImportance ;
                           owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onClass :Importance
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :intendedImpact ;
                           owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onClass :ImpactDirection
                         ] ;
         skos:definition "Outcomes are what stakeholders experience as a result of a Program or Service."@en .


###  https://w3id.org/citydata/part2/v1/Output
:Output rdf:type owl:Class ;
        rdfs:subClassOf cdm1:TerminalResourceState ,
                        :CityServiceThing ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty cdm1:hasDescription ;
                          owl:allValuesFrom xsd:string
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :usedByIndicator ;
                          owl:allValuesFrom i72:Indicator
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty cdm1:hasName ;
                          owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                          owl:onDataRange xsd:string
                        ] ;
        skos:definition "Output is a quantitative summary of an activity." ;
        skos:example "produced 100 meals for the homeless" .


###  https://w3id.org/citydata/part2/v1/Program
:Program rdf:type owl:Class ;
         rdfs:subClassOf cdm1:Activity ,
                         :CityServiceThing ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasBeneficialStakeholder ;
                           owl:allValuesFrom :Stakeholder
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasContributingStakeholder ;
                           owl:allValuesFrom :Stakeholder
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasInput ;
                           owl:allValuesFrom :Input
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasOutcome ;
                           owl:allValuesFrom :Outcome
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasOutput ;
                           owl:allValuesFrom :Output
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasService ;
                           owl:allValuesFrom :Service
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty cdm1:hasDescription ;
                           owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onDataRange xsd:string
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty cdm1:hasName ;
                           owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onDataRange xsd:string
                         ] ;
         rdfs:label "Program"@en ;
         skos:definition "A program is a major city initiative to address the needs of constituents (citizens, clients). A Program defines a set of services that focus on achieving a shared set of Outcomes." ;
         skos:example "A \"poverty reduction program” can be made up of a set of Services such as mobiles services that provides food and clothing to those that live on the street, and a training service that provides basic skills for those living on the street. A Program has a set of Stakeholders that may contribute or benefit." .


###  https://w3id.org/citydata/part2/v1/Service
:Service rdf:type owl:Class ;
         rdfs:subClassOf cdm1:Activity ,
                         :CityServiceThing ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasBeneficialStakeholder ;
                           owl:allValuesFrom :Stakeholder
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasContributingStakeholder ;
                           owl:allValuesFrom :Stakeholder
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasInput ;
                           owl:allValuesFrom :Input
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasOutcome ;
                           owl:allValuesFrom :Outcome
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasOutput ;
                           owl:allValuesFrom :Output
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty cdm1:hasDescription ;
                           owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onDataRange xsd:string
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty cdm1:hasName ;
                           owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onDataRange xsd:string
                         ] ;
         skos:definition "A Program is composed of one or more Services." .


###  https://w3id.org/citydata/part2/v1/Stakeholder
:Stakeholder rdf:type owl:Class ;
             rdfs:subClassOf :CityServiceThing ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty :hasCatchmentArea ;
                               owl:allValuesFrom cdm1:Location
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty :hasCatchmentAreaType ;
                               owl:allValuesFrom :CatchmentAreaType
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty cdm1:hasDescription ;
                               owl:allValuesFrom xsd:string
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty :performs ;
                               owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                               owl:onClass cdm1:Activity
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty cdm1:hasName ;
                               owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                               owl:onDataRange xsd:string
                             ] ,
                             [ rdf:type owl:Class ;
                               owl:unionOf ( cdm1:Organization
                                 :Person
                               )
                             ] ;
             skos:definition "A Stakeholder is an Organization or Person that has an interest in a Program or Service." .


#################################################################
#    Individuals
#################################################################

###  https://w3id.org/citydata/part2/v1/global-catchmentArea
:global-catchmentArea rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/high
:high rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/local-catchmentArea
:local-catchmentArea rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/low
:low rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/medium
:medium rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/multinational-catchmentArea
:multinational-catchmentArea rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/national-catchmentArea
:national-catchmentArea rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/negative
:negative rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/neutral
:neutral rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/positive
:positive rdf:type owl:NamedIndividual .


###  https://w3id.org/citydata/part2/v1/provincial-catchmentArea
:provincial-catchmentArea rdf:type owl:NamedIndividual .
