PREFIX addr: PREFIX dcterms: PREFIX dwc: PREFIX geo: PREFIX owl: PREFIX rdfs: PREFIX sdo: PREFIX skos: PREFIX skosxl: PREFIX xsd: a owl:Ontology ; dcterms:provenance "This ontology was made for the Queensland Department of Resources, Spatial Information unit to assist with future Address database design. It is informed by the ICSM's Addressing 2035: Addressing Reform and Innovation for Australia and New Zealand, published in late 2021 and is based primarilty on the ISO19160-1 Addressing Part 1: Conceptual model with additional elements from a small set of well-regarded Semantic Web models such as GeoSPARQL and SKOS. It is also informed by the relational databalse model used for the G-NAF, Australia's Geocoded National Address File, and CSIRO work in 2018 to characterise the GNAF in Sematic Web form, the ontlogy for which is online at https:linked.data.gov.au/def/gnaf."@en ; owl:versionIRI addr:0.0.1 ; owl:versionInfo "0.0.1" ; skos:definition "This model is a Semantic Web data model used for address information. It caters specifically for Australian & New Zealand's address modelling needs."@en ; skos:prefLabel "Address Model"@en ; sdo:codeRepository "https://github.com/Spatial-Information-QLD/address-model/"^^xsd:anyURI ; sdo:copyrightHolder ; sdo:copyrightNotice "(c) The State of Queensland (Department of Resources) 2020-2023" ; sdo:creator ; sdo:dateCreated "2021-12-16"^^xsd:date ; sdo:dateIssued "2023-06-30"^^xsd:date ; sdo:dateModified "2022-07-04"^^xsd:date ; sdo:license "https://creativecommons.org/licenses/by/4.0/"^^xsd:anyURI ; sdo:publisher ; . a sdo:Organization ; sdo:name "Spatial Information Queensland"@en ; sdo:url "https://qldspatial.information.qld.gov.au"^^xsd:anyURI ; . a sdo:Person ; sdo:email "nick@kurrawong.ai"^^xsd:anyURI ; sdo:name "Nicholas J. Car"@en ; sdo:memberOf ; . addr:Address a owl:Class ; rdfs:isDefinedBy ; dcterms:provenance "Derived from ISO19160-1's Address class"@en ; skos:definition """The Address class represents structured information that allows unambiguous determination of an object for the purposes of identification and location"""@en ; skos:example """ex:addr-1 a addr:Address ; addr:isAddressFor ; addr:hasAddressComponent [ addr:hasValue 20 ; dcterms:type addrct:streetNumber ; ] , [ addr:hasValue "Oxford" ; dcterms:type addrct:thoroughfareName ; ] , [ addr:hasValue strt:Place ; addr:hasValueText "Place" ; dcterms:type addct:StreetType ; ] , [ addr:hasValue ; addr:hasValueText "Shorncliffe" ; dcterms:type addrct:localityName ; ] , [ addr:hasValue ; addr:hasValueText "Queensland" ; dcterms:type addct:StateOrTerritory ; ] , [ addr:hasValue ; addr:hasValueText "Australia" ; dcterms:type addct:Nation ; ] ; ."""@en ; skos:prefLabel "Address"@en ; . addr:AddressableObject a owl:Class ; rdfs:isDefinedBy ; rdfs:subClassOf geo:Feature ; dcterms:provenance "Derived from ISO19160-1's AddressableObject class and its associated codelist of subtypes"@en ; skos:definition """An object that is unambiguously determined by an address. Examples of types of AddressableObjects are a building, a dwelling or a land parcel."""@en ; skos:example """# ex:parcel-x is inferred to be an Addressable object # due to the property addr:hasAddress indicated for it ex:parcel-x addr:hasAddress ex:addr-1 . # this object is declared to be an Addressable Object a addr:AddressableObject ; rdfs:label "Building Y" ; . # ex:admin-area-z is inferred to be an Addressable Object # due to the property addr:isAddressFor indicating it ex:addre-2 addr:isAddressFor ex:admin-area-z ."""@en ; skos:prefLabel "Addressable Object"@en ; skos:usageNote "Judgement as to what makes for a permissable AddressableObject rests with the implementer. This model's technical requirements are only that the object is a legal `geo:Feature` object, thus implementers may make Addressable Objects of almost anything."@en ; . addr:AddressComponent a owl:Class ; rdfs:isDefinedBy ; rdfs:subClassOf rdfs:Resource ; dcterms:provenance "Derived from ISO19160-1's AddressComponent class"@en ; skos:definition """A component that is a constituent part of an address"""@en ; skos:example """ex:addr-1 a addr:Address ; addr:hasAddressComponent [ # a simple numerical literal - street number addr:hasValue 20 ; dcterms:type addrct:streetNumber ; ] , [ # a simple literal - street name addr:hasValue "Oxford" ; dcterms:type addrct:thoroughfareName ; ] , [ # complex object - a Locality addr:hasValue ; # textual value of complex object addr:hasValueText "Shorncliffe" ; dcterms:type addrct:localityName ; ] , ..."""@en ; skos:prefLabel "Address Component"@en ; skos:scopeNote """Address Components can be literals - numbers, words etc. - or complex ojects - Localities, districtes etc. If the Address Component is a complex object, a textual representation of it must be provided when a textual rendering of all of an Addresses' component are required, for example for letter printing. Complex objects are preferred for use over literals when the object referred to has independent identity. Ordering of Address Components, for example for letter printing, is not fixed within this model but should be implemented with a positioning preference system utilising the Address Component's `dcterms:type` values which should come from a controlled vocabulary of Address Component Type values."""@en ; . addr:AddressComponentType a owl:Class ; rdfs:isDefinedBy ; rdfs:subClassOf skos:Concept ; dcterms:provenance "Derived from ISO19160-1's AddressComponent class" ; skos:definition "Code that specifies the kind of address component"@en ; skos:example """ex:addr-1 a addr:Address ; addr:hasAddressComponent [ # "StreetNumber" type addr:hasValue 20 ; dcterms:type addrct:streetNumber ; ] , [ # "StreetName" type addr:hasValue "Oxford" ; dcterms:type addrct:thoroughfareName ; ] , [ # "Locality" type addr:hasValue ; # textual value of complex object addr:hasValueText "Shorncliffe" ; dcterms:type addrct:localityName ; ] , ...""" ; skos:prefLabel "Address Component Type"@en ; skos:scopeNote """An Address Component's type should be indicated with values from a controlled vocabulary - a code list. A SKOS vocabulary of Address Component Types is suplied with this ontology."""@en ; . addr:AddressLifecycleStage a owl:Class ; rdfs:isDefinedBy ; dcterms:provenance "Derived from ISO19160-1's AddressLifecycle class"@en ; skos:definition """Represents the different lifecycle stages of an Address"""@en ; skos:example """# An Address with two Lifecycle Stages indicated: # one current and one past ex:addr-1 a addr:Address ; addr:hasLifeCycleStage [ # this Stage has ceased time:hasTime [ time:hasBeginning [ time:inXSDDate "1982-02-10"^^xsd:date ] ; time:hasEnd [ time:inXSDDate "1982-05-11"^^xsd:date ] ; ] ; addr:hasLifeCycleStageType addrls:proposed ; ] , [ # this Stage is still in effect - no hasEnd given time:hasTime [ time:hasBeginning [ time:inXSDDate "1982-05-11"^^xsd:date ] ; ] ; addr:hasLifeCycleStageType addrls:current ; ] , . # The Address Lifecycle Stage 'proposed' # from the Address Lifecycle Stage Types vocabulary # indicating only some properties addrls:proposed a skos:Concept ; ... skos:prefLabel "Proposed" ; ."""@en ; skos:prefLabel "Address Lifecycle Stage"@en ; skos:scopeNote """An Address Lifecycle Stage's type should be indicated with values from a controlled vocabulary - a code list. A SKOS vocabulary of Address Lifecycle Stages is suplied with this ontology. In this model, these Lifecycle Stages are defined for use with Addresses only, not also Address Components, as per ISO19160-1."""@en ; . addr:AddressLifecycleStageType a owl:Class ; rdfs:isDefinedBy ; rdfs:subClassOf skos:Concept ; dcterms:provenance "Derived from ISO19160-1's AddressLifecycle class"@en ; skos:definition """Code that specifies the kind of Address Lifecycle Stage"""@en ; skos:example """# An Address with a Lifecycle Stages indicated # which then indicates its type ex:addr-1 a addr:Address ; addr:hasLifeCycleStage [ ... addr:hasLifeCycleStageType addrls:proposed ; ] ; ..."""@en ; skos:prefLabel "Address Lifecycle Stage Type"@en ; skos:usageNote """An Address Address Lifecycle Stage's type should be indicated with values from a controlled vocabulary - a code list. A SKOS vocabulary of Address Lifecycle Stage Types is suplied with this ontology."""@en ; . addr:AddressRole a owl:Class ; rdfs:isDefinedBy ; rdfs:subClassOf skos:Concept ; dcterms:provenance "Derived from ISO19160-1's AddressPosition & AddressPositionType classes"@en ; skos:definition """AddressRole represents a task for which this Address may be used"""@en ; skos:example """# An Address with two roles ex:addr-1 a addr:Address ; addr:hasAddressRole ex:emergencyAccess , buildingAccessPoint ; ..."""@en ; skos:prefLabel "Address Role"@en ; skos:usageNote """ISO19160-1 does not contain an `AddressRole` class but instead an `AddressPosition` class with positioning and role properties. This Standard make role a direct property of `Address` instead and provides for a positional qualifier (qualified against the position of the `AddressableObject`) instead to allow whole addresses to carry role tasking."""@en ; . addr:isAddressFor a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:domain addr:Address ; rdfs:range addr:AddressableObject ; dcterms:provenance "Derived from ISO19160-1's object relations"@en ; skos:definition "Indicates an Addressable Object that an Address is allocated to"@en ; skos:example """# the Address ex:addr-1 is allocated to # some-addressable-object ex:addr-1 a addr:Address ; addr:isAddressFor ; .""" ; skos:prefLabel "is address for"@en ; . addr:hasAddress a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:domain addr:AddressableObject ; rdfs:range addr:Address ; dcterms:provenance "Derived from ISO19160-1's object relations"@en ; skos:definition "Indicates an Address has been allocated for an Addressable Object"@en ; skos:example """# the addr:AddressableObject, some-addressable-object, # indicates an address with addr:hasAddress a addr:AddressableObject ; addr:hasAddress ex:addr-1 ; . ex:addr-1 a addr:Address ; .""" ; skos:prefLabel "has address"@en ; . addr:hasAddressComponent a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:domain addr:Address ; rdfs:range addr:AddressComponent ; dcterms:provenance "Derived from ISO19160-1's object relations"@en ; skos:definition "Indicates an Address Component of an Address"@en ; skos:example """# an Address has an Address Component, a street number, indicated ex:addr-1 a addr:Address ; addr:hasAddressComponent [ addr:hasValue 20 ; dcterms:type addrct:streetNumber ; ] , ...""" ; skos:prefLabel "has address component"@en ; . addr:hasAddressComponentType a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:domain addr:AddressComponent ; rdfs:range addr:AddressComponentType ; dcterms:provenance "Derived from ISO19160-1's object relations"@en ; skos:definition "Indicates an Addresses Component's type"@en ; skos:example """# an Address has an Address Component with its type, # street number, indicated ex:addr-1 a addr:Address ; addr:hasAddressComponent [ addr:hasValue 20 ; dcterms:type addrct:streetNumber ; ] , ...""" ; skos:prefLabel "has address component type"@en ; . addr:hasAddressRole a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:domain addr:Address ; rdfs:range addr:AddressRole ; dcterms:provenance "Derived from ISO19160-1's AddressPosition class and properties"@en ; skos:definition "Indicates an Address Role for an Address"@en ; skos:example """# An Address with two roles ex:addr-1 a addr:Address ; addr:hasAddressRole ex:emergencyAccess , buildingAccessPoint ; ...""" ; skos:prefLabel "has address role"@en ; . addr:hasLifecycleStage a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:domain addr:Address ; rdfs:range addr:hasLifecycleStage ; dcterms:provenance "Derived from ISO19160-1's object relations"@en ; skos:definition "Indicates an Addresses' Lifecycle Stage"@en ; skos:example """# An Address with two Lifecycle Stages indicated: # one current and one past ex:addr-1 a addr:Address ; addr:hasLifeCycleStage [ # this Stage has ceased time:hasTime [ time:hasBeginning [ time:inXSDDate "1982-02-10"^^xsd:date ] ; time:hasEnd [ time:inXSDDate "1982-05-11"^^xsd:date ] ; ] ; dcterms:type addrls:proposed ; ] , [ # this Stage is still in effect - no hasEnd given time:hasTime [ time:hasBeginning [ time:inXSDDate "1982-05-11"^^xsd:date ] ; ] ; dcterms:type addrls:current ; ] , .""" ; skos:prefLabel "has lifecycle stage"@en ; . addr:hasGeocode a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:domain addr:Address ; rdfs:range geo:AddressGeocode ; dcterms:provenance "Derived from the G-NAF's expression of Address position"@en ; skos:definition "Indicates a refined, that is a very accurate or specific, geometry, usually a point, for an Address qualified by the Geocode Type - how it was generated."@en ; skos:scopeNote "This property, along with hasRole, allows multiple Addresses with different locations to be allocated to Addressable Objects and for those addresses to be used for different purposes. The location indicated by this property should be within/on/next to the location of the Addressable Object this Address is for, within some acceptable tolerance."@en ; skos:example """# An Address with a geocode and a role ex:addr-1 a addr:Address ; addr:hasGeocode [ dcterms:type geocodeType:DF ; # Driveway Frontage geo:hasGeometry "POINT (152.01 -35.03)"^^geo:wktLiteral ; ] ; addre:hasRole addr:buildingAccessPoint ; ...""" ; skos:prefLabel "has geocode"@en ; . addr:hasValue a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:domain addr:AddressComponent ; rdfs:range rdfs:Resource ; dcterms:provenance "Derived from ISO19160-1's AddressComponent object's properties"@en ; skos:definition "Indicates the value of an Address Component"@en ; skos:example """ex:addr-1 a addr:Address ; addr:hasAddressComponent [ # "StreetNumber" type addr:hasValue 20 ; addr:hasComponentType addrct:streetNumber ; ] , [ # "StreetName" type addr:hasValue "Oxford" ; addr:hasComponentType addrct:thoroughfareName ; ] , [ # "Locality" type addr:hasValue ; # textual value of complex object addr:hasValueText "Shorncliffe" ; addr:hasComponentType addrct:locality ; ] , ...""" ; skos:prefLabel "has value"@en ; . addr:hasValueText a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:domain addr:AddressComponent ; rdfs:range xsd:string ; dcterms:provenance "Derived from ISO19160-1's AddressComponent object's properties"@en ; skos:definition "Indicates the value of an Address Component"@en ; skos:example """ex:addr-1 a addr:Address ; addr:hasAddressComponent [ # "StreetNumber" type addr:hasValue 20 ; addr:hasComponentType addrct:streetNumber ; ] , [ # "StreetName" type addr:hasValue "Oxford" ; addr:hasComponentType addrct:thoroughfareName ; ] , [ # "Locality" type addr:hasValue ; # textual value of complex object addr:hasValueText "Shorncliffe" ; addr:hasComponentType addrct:locality ; ] , ...""" ; skos:prefLabel "has value text"@en ; skos:scopeNote "This property is to be used to represent the textual value of Address Components that are literals and also complex objects. For a literal, the same value will be present for hasValue and hasValueText, e.g. a street number of 20 or a property name of 'Bonnie Doon', however for a complex object, e.g. the locality , a textual representation of it must be selected. Likely a simple name for the object will do, i.e. a Locality name or a Street Locality name."@en ; .