@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 org: <http://www.w3.org/ns/org#> .
@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/OrganizationPattern> rdf:type owl:Ontology ;
                                                          owl:imports cdm1:RecurringEventPattern ,
                                                                      :CityServicePattern ;
                                                          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 - Organization 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/Organization/> ;
                                                          owl:versionIRI <https://w3id.org/citydata/part2/v1/OrganizationPattern/r3.0/> ;
                                                          owl:versionInfo "1.3.0" ;
                                                          skos:definition "This ontology specifies the city-level concepts for the organization pattern of the city data model. The Organization pattern is an extension of the Organization Structure pattern defined in ISO/IEC 5087-1 that introduces city-specific concepts related to Organizations such as Students and Employees." .

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

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


###  https://w3id.org/citydata/part2/v1/annualPay
:annualPay rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf :hasPay ;
           rdfs:range cdm1:MonetaryValue ;
           skos:definition "Identifies the compensation to be paid for a year." .


###  https://w3id.org/citydata/part2/v1/employedAs
:employedAs rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :CityOrgObjectProperty ;
            rdfs:domain :Employment ;
            rdfs:range :Occupation ;
            skos:definition "Identifies the occupation in which the agent is employed." ;
            skos:example "General / Office / Clerical" ,
                         "Manufacturing / Construction / Trades" ,
                         "Professional / Management / Technical" ,
                         "Retail Sales and Service" ;
            skos:note "An Occupation describes the type of work performed by some employee. Different classifications of occupations can be defined." .


###  https://w3id.org/citydata/part2/v1/employedBy
:employedBy rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :CityOrgObjectProperty ;
            rdfs:domain :Employment ;
            rdfs:range :Organization ;
            skos:definition "Identifies the Organization that employs the agent." .


###  https://w3id.org/citydata/part2/v1/hasCompensation
:hasCompensation rdf:type owl:ObjectProperty ;
                 rdfs:subPropertyOf :CityOrgObjectProperty ;
                 rdfs:domain :Employment ;
                 rdfs:range :Compensation ;
                 skos:definition "identifies the monetary compensation received by the agent." .


###  https://w3id.org/citydata/part2/v1/hasEmployment
:hasEmployment rdf:type owl:ObjectProperty ;
               rdfs:subPropertyOf :CityOrgObjectProperty ;
               rdfs:domain :OrganizationAgent ;
               rdfs:range :Employment ;
               skos:definition "Specifies the details of an agent’s Employment." .


###  https://w3id.org/citydata/part2/v1/hasEmploymentStatus
:hasEmploymentStatus rdf:type owl:ObjectProperty ;
                     rdfs:subPropertyOf :CityOrgObjectProperty ;
                     rdfs:domain :Employment ;
                     rdfs:range :EmploymentStatus ;
                     skos:definition "identifies the Employment Status of the employee." ;
                     skos:example "full-time regular, part-time regular, full-time-work-at-home, part-time-work-at-home" .


###  https://w3id.org/citydata/part2/v1/hasEstablishment
:hasEstablishment rdf:type owl:ObjectProperty ;
                  rdfs:subPropertyOf :CityOrgObjectProperty ;
                  rdfs:domain :ForProfitOrganization ;
                  rdfs:range :BusinessEstablishment ;
                  skos:definition "Specifies a Business Establishment where the organization conducts business." .


###  https://w3id.org/citydata/part2/v1/hasGoal
:hasGoal rdf:type owl:ObjectProperty ;
         rdfs:subPropertyOf :CityOrgObjectProperty ;
         rdfs:range :Goal ;
         skos:definition "identifies the Goal(s) of the domain object. " .


###  https://w3id.org/citydata/part2/v1/hasGovernment
:hasGovernment rdf:type owl:ObjectProperty ;
               rdfs:subPropertyOf :CityOrgObjectProperty ;
               owl:inverseOf :jurisdiction ;
               skos:definition "Identifies the GovernmentOrganization that manages the JurisdictionalArea." .


###  https://w3id.org/citydata/part2/v1/hasIndustryType
:hasIndustryType rdf:type owl:ObjectProperty ;
                 rdfs:subPropertyOf :CityOrgObjectProperty ;
                 rdfs:domain :ForProfitOrganization ;
                 rdfs:range :IndustryType ;
                 skos:definition "Specifies an Industry Type assigned to the organization based on the kind of business conducted." .


###  https://w3id.org/citydata/part2/v1/hasPay
:hasPay rdf:type owl:ObjectProperty ;
        rdfs:subPropertyOf :CityOrgObjectProperty ;
        rdfs:domain :Compensation ;
        rdfs:range cdm1:MonetaryValue ;
        skos:definition "Identifies the MonetaryValue of the Compensation." .


###  https://w3id.org/citydata/part2/v1/hasProcess
:hasProcess rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :CityOrgObjectProperty ;
            rdfs:domain :Role ;
            rdfs:range cdm1:Activity ;
            skos:definition "Specifies an Activity that is performed as part of the Role." .


###  https://w3id.org/citydata/part2/v1/hasProgram
:hasProgram rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :CityOrgObjectProperty ;
            rdfs:domain :Organization ;
            rdfs:range :Program ;
            skos:definition "Specifies a Program defined for the Organization." .


###  https://w3id.org/citydata/part2/v1/hasResource
:hasResource rdf:type owl:ObjectProperty ;
             rdfs:subPropertyOf :CityOrgObjectProperty ;
             rdfs:domain :Role ;
             rdfs:range cdm1:Resource ;
             skos:definition "Specifies a resource:Resource that is (expected to be) allocated for the Role." .


###  https://w3id.org/citydata/part2/v1/hourlyPay
:hourlyPay rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf :hasPay ;
           skos:definition "Identifies the Compensation to be paid per hour." .


###  https://w3id.org/citydata/part2/v1/jurisdiction
:jurisdiction rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf :CityOrgObjectProperty ;
              rdfs:domain :GovernmentOrganization ;
              rdfs:range :JurisdictionalArea ;
              skos:definition "Specifies the JurisdictionalArea for which the organization is responsible." .


###  https://w3id.org/citydata/part2/v1/operatingHours
:operatingHours rdf:type owl:ObjectProperty ;
                rdfs:subPropertyOf :CityOrgObjectProperty ;
                rdfs:domain :Organization ;
                rdfs:range :Operation ;
                skos:definition "Identifies the OperatingHours of the Organization." .


###  https://w3id.org/citydata/part2/v1/orgAddress
:orgAddress rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :CityOrgObjectProperty ;
            owl:propertyChainAxiom ( org:hasSite
                                     org:siteAddress
                                   ) ;
            skos:definition "A specialization to hasAddress that specifies the Address associated with the Organization." .


###  https://w3id.org/citydata/part2/v1/overtimePay
:overtimePay rdf:type owl:ObjectProperty ;
             rdfs:subPropertyOf :hasPay ;
             skos:definition "Identifies an additional rate of pay as a MonetaryValue to be paid per hour in the case of overtime compensation." .


###  https://w3id.org/citydata/part2/v1/playsRole
:playsRole rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf :CityOrgObjectProperty ;
           rdfs:range :Role ;
           skos:definition "Specifies a Role that the domain object fulfils." .


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

###  https://w3id.org/citydata/part2/v1/CityOrgDataProperty
:CityOrgDataProperty rdf:type owl:DatatypeProperty ;
                     rdfs:subPropertyOf :CityDataProperty ;
                     skos:definition "Added for organizational purposes, to identify data properties defined for the City Organization Pattern in the City-level CDM ontology." .


###  https://w3id.org/citydata/part2/v1/hasClosingTime
:hasClosingTime rdf:type owl:DatatypeProperty ;
                rdfs:subPropertyOf cdm1:endTime ,
                                   :CityOrgDataProperty ;
                rdf:type owl:FunctionalProperty ;
                rdfs:range xsd:time ;
                rdfs:label "has Closing Time"@en ;
                rdfs:definition "Specifies the closing time for the domain object." .


###  https://w3id.org/citydata/part2/v1/hasOpeningTime
:hasOpeningTime rdf:type owl:DatatypeProperty ;
                rdfs:subPropertyOf cdm1:startTime ,
                                   :CityOrgDataProperty ;
                rdf:type owl:FunctionalProperty ;
                rdfs:range xsd:time ;
                rdfs:label "has Opening Time"@en ;
                skos:definition "Specifies the opening time for the domain object." .


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

###  https://w3id.org/citydata/part2/v1/BusinessEstablishment
:BusinessEstablishment rdf:type owl:Class ;
                       rdfs:subClassOf :CityOrgThing ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :hasAddress ;
                                         owl:allValuesFrom :Address
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty cdm1:hasLocation ;
                                         owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                         owl:onClass cdm1:Location
                                       ] ;
                       skos:definition "Business Establishment: A Business establishment is a physical location where an Organization conducts business." .


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


###  https://w3id.org/citydata/part2/v1/Compensation
:Compensation rdf:type owl:Class ;
              rdfs:subClassOf :CityOrgThing ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty :hasPay ;
                                owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                owl:onClass cdm1:MonetaryValue
                              ] ;
              skos:definition "A compensation is a generalization of monetary compensation received for employment." .


###  https://w3id.org/citydata/part2/v1/Employment
:Employment rdf:type owl:Class ;
            rdfs:subClassOf :CityOrgThing ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :employedAs ;
                              owl:allValuesFrom :Occupation
                            ] ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :hasEmploymentStatus ;
                              owl:allValuesFrom :EmploymentStatus
                            ] ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :employedBy ;
                              owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                              owl:onClass :Organization
                            ] ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :hasCompensation ;
                              owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                              owl:onClass :Compensation
                            ] ;
            skos:definition "Employment is a type of Organizational membership in which the Agent receives monetary compensation for the value that they provide to the Organization." .


###  https://w3id.org/citydata/part2/v1/EmploymentStatus
:EmploymentStatus rdf:type owl:Class ;
                  rdfs:subClassOf :CityOrgThing ,
                                  [ rdf:type owl:Restriction ;
                                    owl:onProperty :hasCode ;
                                    owl:allValuesFrom :Code
                                  ] ;
                  skos:definition "Employment Status is a type of Code that describes the employment status of an Agent within an Organization." .


###  https://w3id.org/citydata/part2/v1/ForProfitOrganization
:ForProfitOrganization rdf:type owl:Class ;
                       rdfs:subClassOf :Organization ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :hasEstablishment ;
                                         owl:allValuesFrom :BusinessEstablishment
                                       ] ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :hasIndustryType ;
                                         owl:allValuesFrom :IndustryType
                                       ] ;
                       skos:definition "A for-profit organization is an organization that operates with the primary goal of generating profit for its owners or shareholders." .


###  https://w3id.org/citydata/part2/v1/Goal
:Goal rdf:type owl:Class ;
      rdfs:subClassOf cdm1:State ,
                      :CityOrgThing ;
      skos:definition "A goal represents some state or complex states, and allows for the representation of various groups' responsibilities." .


###  https://w3id.org/citydata/part2/v1/GovernmentOrganization
:GovernmentOrganization rdf:type owl:Class ;
                        rdfs:subClassOf :Organization ,
                                        [ rdf:type owl:Restriction ;
                                          owl:onProperty :hasProgram ;
                                          owl:allValuesFrom :Program
                                        ] ,
                                        [ rdf:type owl:Restriction ;
                                          owl:onProperty :jurisdiction ;
                                          owl:allValuesFrom :JurisdictionalArea
                                        ] .


###  https://w3id.org/citydata/part2/v1/IndustryType
:IndustryType rdf:type owl:Class ;
              rdfs:subClassOf :CityOrgThing ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty :hasCode ;
                                owl:allValuesFrom :Code
                              ] ;
              skos:definition "Industry Type is a type of Code that describes the industry sector of a business establishment." .


###  https://w3id.org/citydata/part2/v1/JurisdictionalArea
:JurisdictionalArea rdf:type owl:Class ;
                    rdfs:subClassOf [ rdf:type owl:Restriction ;
                                      owl:onProperty :hasGovernment ;
                                      owl:allValuesFrom :GovernmentOrganization
                                    ] .


###  https://w3id.org/citydata/part2/v1/NonProfitOrganization
:NonProfitOrganization rdf:type owl:Class ;
                       rdfs:subClassOf :Organization ,
                                       [ rdf:type owl:Restriction ;
                                         owl:onProperty :hasProgram ;
                                         owl:allValuesFrom :Program
                                       ] ;
                       skos:definition "A NonProfitOrganization is an non-governmental organization that operates for purposes other than generating profit." .


###  https://w3id.org/citydata/part2/v1/Occupation
:Occupation rdf:type owl:Class ;
            rdfs:subClassOf :CityOrgThing ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :hasCode ;
                              owl:allValuesFrom :Code
                            ] ;
            skos:definition "Occupation describes the work performed by some Employee." ;
            skos:example "sales, skilled trade" .


###  https://w3id.org/citydata/part2/v1/Operation
:Operation rdf:type owl:Class ;
           rdfs:subClassOf cdm1:RecurringEvent ,
                           :CityOrgThing ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty :hasClosingTime ;
                             owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                             owl:onDataRange xsd:time
                           ] ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty :hasOpeningTime ;
                             owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                             owl:onDataRange xsd:time
                           ] ;
           skos:definition "An Operation defines the regular opening hours of an Organization or Infrastructure Element." .


###  https://w3id.org/citydata/part2/v1/Organization
:Organization rdf:type owl:Class ;
              rdfs:subClassOf cdm1:Organization ,
                              :CityOrgThing ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty :hasGoal ;
                                owl:allValuesFrom :Goal
                              ] ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty cdm1:hasLocation ;
                                owl:allValuesFrom cdm1:Location
                              ] ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty :hasTelephone ;
                                owl:allValuesFrom :PhoneNumber
                              ] ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty :operatingHours ;
                                owl:allValuesFrom :Operation
                              ] ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty :orgAddress ;
                                owl:allValuesFrom :Address
                              ] ;
              skos:definition "An Organization defined broadly as a formal or semi-formal group for which structure and behaviour are defined." .


###  https://w3id.org/citydata/part2/v1/OrganizationAgent
:OrganizationAgent rdf:type owl:Class ;
                   rdfs:subClassOf cdm1:Agent ,
                                   :CityOrgThing ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :hasEmployment ;
                                     owl:allValuesFrom :Employment
                                   ] ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :hasGoal ;
                                     owl:allValuesFrom :Goal
                                   ] ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty org:memberOf ;
                                     owl:allValuesFrom :Organization
                                   ] ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :playsRole ;
                                     owl:allValuesFrom :Role
                                   ] ;
                   skos:definition "Member of an organization" ;
                   skos:note "Organization Agents have goals, authority, and may be members of some team." .


###  https://w3id.org/citydata/part2/v1/Role
:Role rdf:type owl:Class ;
      rdfs:subClassOf org:Role ,
                      :CityOrgThing ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :hasGoal ;
                        owl:allValuesFrom :Goal
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :hasProcess ;
                        owl:allValuesFrom cdm1:Activity
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :hasResource ;
                        owl:allValuesFrom cdm1:Resource
                      ] ;
      skos:definition "A Role has a single, possibly complex, Goal." .


###  https://w3id.org/citydata/part2/v1/Salary
:Salary rdf:type owl:Class ;
        rdfs:subClassOf :Compensation ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :annualPay ;
                          owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                          owl:onClass cdm1:MonetaryValue
                        ] ;
        skos:definition "A Salary is a form of compensation paid to an employee and is defined on an annual basis." .


###  https://w3id.org/citydata/part2/v1/Wage
:Wage rdf:type owl:Class ;
      rdfs:subClassOf :Compensation ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :overtimePay ;
                        owl:allValuesFrom cdm1:MonetaryValue
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :hourlyPay ;
                        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                        owl:onClass cdm1:MonetaryValue
                      ] ;
      skos:definition "A Wage is a form of compensation paid to an employee and is defined on an hourly basis." .
