A Semantic Web data model for compound names that may be assigned to resources.
1. Metadata
IRI |
|
Preferred Label |
Compound Naming Model |
Definition |
A Semantic Web data model for compound names that may be assigned to resources. |
Date Created |
2023-04-26 |
Date Modified |
2023-05-31 |
Date Issued |
2023-04-26 |
Creator |
|
Publisher |
|
Provenance |
This model was made for Queensland Spatial Information, a unit of the Queensland Department of Resources, to assist with their future address and roads database design however, recognising the generic nature of this modelling, it was presented to the AGLDWG to be supplied as a "background model" for general use. |
Status |
Ready for use |
Version |
|
Code Repository |
|
License |
|
Copyright |
© Australian Government Linked Data Working Group, 2023 |
Machine-readable form (RDF) |
2. Preamble
2.2. Namespaces
This model is built on a small set of well-regarded Semantic Web models which use a variety of namespaces. Prefixes for this namespaces, used throughout this document, are listed below.
Prefix | Namespace | Description |
---|---|---|
|
Namespace for this model |
|
|
Generic examples |
|
|
OGC GeoSPARQL model |
|
|
Web Ontology Language ontology |
|
|
RDF Schema ontology |
|
|
schema.org vocabulary |
|
|
Sensor, Observation, Sample, and Actuator ontology |
|
|
Simple Knowledge Organization System (SKOS) ontology |
|
|
Time Ontology in OWL |
|
|
XML Schema Definitions ontology |
2.3. Conformance
This model conforms to the OntPub Profile which is a specification for ontology publication that mandates certain structural and metadata properties for the model as a whole and model elements. Metadata elements for the model as a whole - the ontology - are given in the Metadata section above.
2.3.1. Figures
Figures used in this document all use the key given in Figure 1.
2.4. Model resources
This document is this model’s "Specification" which is its authoritative, human-readable, definition document. This model also contains other resources with other roles:
Resource | Role | Notes |
---|---|---|
Specification |
The normative description of this model |
|
Schema |
The technical, machine-readable, version of this model in [RDF]. |
|
Validation |
The machine-readable validator file used to validate data claiming conformance to this model, as per the description of validation in Section Validation. |
|
Examples |
3. Introduction
This model allows for the representation of compound names that can be assigned to be assigned to resources.
One example of a compound name is a geographical name - Moreton Island - and another is a street address:
72 Yundah Street Shorncliffe Queensland 4017 Australia
The first may be assigned to a mountain, the second a dwelling.
These compound names - and there are many other existing and potential forms - are made of parts and the parts are ordered and presented in some form, perhaps a contracted form, for different purposes. Parts may, in turn, be made of further parts.
The underlying logic of separating compound names from the things named is evident in many data standards, such as the ISO’s [ISO19160-1] Addressing - Part 1: Conceptual Model, which separates an Address
from an Addressable Object
.
3.1. Sources of Requirements
This model was initially built to allow Queensland Government to manage Addresses, geographical Names, Road Names and other forms of name for geospatial objects in a similar manner with naming data stored outside spatial data systems. Within this, several specific modelling principles were established, such as Compound Name component typing.
The main principles are listed in the following section. Additionally, the validators for this model check for conformance of data to these principles, see the section Validation.
Note
|
While Queensland Government uses this model to name geospatial objects, any object - a generic resource - may be named using it: there is nothing inherently geospatial about compound naming. |
3.2. Major Modelling Principles
Major modelling principles present in this model are:
-
Resource / Compound Name split
-
Compound Name Component typing
-
Compound Names can contain other Compound Names
-
Providing templates for literal name assembly
These principles are explained in the following sub-sections.
3.2.1. Resource / Compound Name split
Names may be complex things - made of multiple parts that are rendered in different ways for different purposes, in multiple languages etc. - and the things names may be complex too - be spatial with multiple geometries, detailed properties etc. For this reason, we separate the representation of compound names from the resources named, as per Figure 1.
The implication of this is that we can handle Resource
instances and CompoundName
instances for them separately both within conceptual & logical models, and also within implementations, physical models. This offers great flexibility in handling resources and compound names, and we can do things like implement independent lifecycles for them and use dedicated tools for certain kinds of resources (e.g. geospatial features).
3.2.2. Compound Name Component typing
The different parts of a CompoundName
will have different types, for example, Moreton Island mentioned above has a basic name part - "Moreton" and a typing part "Island".
Since we intend this model to be used in different scenarios - geographical object naming, indigenous place naming, addressing and more - we allow the parts of a CompoundName
object to have sub-types assigned to them which may be selected from a domain-specific types vocabulary.
For geographical name Moreton Island again, we may type the "Moreton" part as a geographical name and the "Island" part as a geographical object category.
3.2.3. Compound Names can contain other Compound Names
Where Resource
instances have names that have relations to other Resource
instances with names, CompoundName
instances might need to be built by compounding other CompoundName
instances. For example, the Address
72 Yundah Street Shorncliffe Queensland 4017 Australia
includes a road number - "1" - and a road name - "Yundah Street" - as well as a locality name - "Shorncliffe" and other things. "Yundah Street" could easily be a CompoundName
for a Road
object and "Shorncliffe" a (simple) compound name for a Locality
object. If names are provisioned for that Road
and Locality
object, then the Address
compound name may be created by retrieving their names and then placing them into a template like this:
{Road Number} {Road Name}
{Locality}
{State} {Postcode}
{Country}
See the next section for templating.
To enable this compounding logic, this model specifies that users of this model must provide a function that accepts a CompoundName
object reference (identifier) and a template or template reference or that uses a default template and produces a literal version of it for every class of CompoundName
that they implement. This is defined in the section Functions.
3.2.4. Providing templates for literal name assembly
In most cases of name use, we need to have the parts of the CompoundNameComponent
presented in a particular order. In Australia, this Address
makes sense:
72 Yundah Street Shorncliffe Queensland 4017 Australia
This does not:
4017 Street Queensland Australia 72 Shorncliffe
We may also have more than one sensible order for a CompoundName
, for example, we may wish to render the Address
example above on a single line:
72 Yundah Street, Shorncliffe, Queensland 4017 Australia
We may also wish to contract terms - Street - to "St" and to add other punctuation - Island → "Is.".
For these reasons, users of this model must implement at least one template for CompoundName
literal rendering.
Without specific context, this model cannot implement name templating here.
4. Model
This model is composed of Web Ontology Language (OWL) [OWL] Classes and Properties. Some of them are defined in this model and others are from other, well-known, ontologies and reused here. Each element indicates where it is defined using the Is Defined By predicate.
4.1. Classes
4.1.1. Compound Name
Property | Value |
---|---|
IRI |
|
Preferred Label |
Compound Name |
Definition |
A Compound Name is a literal value, or objects that can be interpreted as literal values, that describe or name a Feature |
Is Defined By |
This model |
Expected Properties |
|
Example |
|
4.1.2. Resource
Property | Value |
---|---|
IRI |
|
Preferred Label |
Resource |
Definition |
The class resource, everything |
Is Defined By |
|
Scope Note |
This class is used to represent both the things to which CompoundNames can be assigned and also the range value of the property rdf:value. It is not expected to be used directly but instead specialised types of Resource are expected |
Example |
See the non-literal values for rdf:value in the CompoundName example |
4.1.3. Literal
Property | Value |
---|---|
IRI |
|
Preferred Label |
Literal |
Definition |
The class of literal values, eg. textual strings and integer |
Is Defined By |
|
Scope Note |
This class is used to represent the range value of the property :asLiteral. It is not expected to be used directly but instead specialised types of Literal are expected |
Example |
See the literals values of '72' and 'Yundah' in the CompoundName example |
4.1.4. Concept
Property | Value |
---|---|
IRI |
|
Preferred Label |
Concept |
Definition |
An idea or notion; a unit of thought |
Is Defined By |
|
Expected Properties |
Standard SKOS properties for Concepts |
Scope Note |
This class is the type of the expected values for the property sdo:additionalType when used within this model. Concepts are typically controlled terms within ConceptSchemes. Literal representations of Concepts should easily be obtainable |
Example |
|
4.2. Properties
4.2.1. is name for
Property | Value |
---|---|
IRI |
|
Preferred Label |
is name for |
Definition |
Inverse of |
Is Defined By |
This Model |
Inverse Of |
|
Example |
|
4.2.2. name
Property | Value |
---|---|
IRI |
|
Preferred Label |
name |
Definition |
The name of the item |
Is Defined By |
|
Scope Note |
In this model, name is used to indicate both a literal form of a resource`s name or a CompoundName object |
Example |
See example for is name for |
4.2.3. has part
Property | Value |
---|---|
IRI |
|
Preferred Label |
has part |
Definition |
Indicates a Resource that is part of this item |
Is Defined By |
|
Example |
See the example for Compound Name |
4.2.4. value
Property | Value |
---|---|
IRI |
|
Preferred Label |
value |
Definition |
Idiomatic property used for structured values |
Is Defined By |
|
Example |
See the example for Compound Name |
Scope Note |
Use this property to indicate the value of a CompoundName, whether it’s a literal or a complex object |
4.2.5. additionalType
Property | Value |
---|---|
IRI |
|
Preferred Label |
additional type |
Definition |
An additional type for the item, typically used for adding more specific types from external vocabularies |
Is Defined By |
|
Example |
See the example for Compound Name |
Scope Note |
Use this property to indicate the specialised type of a part of a CompoundName |
5. Functions
Use of this model in which CompoundName
instances contain other CompoundName
instances as parts requires the implementation of a function to create a literal form of those contained CompoundName
instances. This is described further in the section Compound Names can contain other Compound Names.
This function MUST be called getLiteralName
and must have the following function signature:
function getLiteralName(CompoundName, template (Optional)) -> Literal
In words:
-
the function
getLiteralName
must accept a Compound Name Object or object reference and optionally a template or template reference as input parameters-
if no template is supplied, a default template for the given class of CompoundName must be used.
-
-
the function returns a literal representation of the CompoundName object
5.1. Function Example
The ex:moreton
is an instance of a GeographicalName
which is a specialised form of CompoundName
. It consists of the parts shown in the example for Compound Name.
The function getLiteralName
is used as follows:
getLiteralName(ex:moreton)
No template is specified so the system uses the default template for the class GeographicalName
which is simply:
{GeographicalFeatureName} {GeographicalFeatureTypeName}
which, in this case, returns:
Moreton Island
The function is then used as follows:
getLiteralName(ex:moreton, contractedTemplate)
where the template contractedTemplate
shortens GeographicalFeatureTypeName
, in this case "Island" → "Is." thus the function returns:
Moreton Is.
7. Examples
These examples are figures based on the data for the example given for the Compound Name class description.
Bibliography
-
[CONNEGP] World Wide Web Consortium, Content Negotiation by Profile, W3C Working Draft (20 March 2022). https://w3c.github.io/dx-connegp/connegp/
-
[FLM] The State of Queensland (Department of Resources). Compound Naming Model. Semantic Web data model (2023). https://linked.data.gov.au/def/flm
-
[GEO] Open Geospatial Consortium, OGC GeoSPARQL - A Geographic Query Language for RDF Data, Version 1.1 (2021). OGC Implementation Specification. http://www.opengis.net/doc/IS/geosparql/1.1
-
[ISO19101-1] International Organization for Standardization, ISO 19101-1:2014 Geographic information — Reference model — Part 1: Fundamentals (2014)
-
[ISO19156] International Organization for Standardization, ISO 19156: Geographic information — Observations and measurements (2011)
-
[ISO19160-1] International Organization for Standardization, ISO 19160-1: Addressing Part 1: Conceptual model (2015). https://www.iso.org/standard/61710.html
-
[OWL] World Wide Web Consortium, OWL 2 Web Ontology Language Document Overview (Second Edition), W3C Recommendation (11 December 2012). https://www.w3.org/TR/owl2-overview/
-
[PROF] World Wide Web Consortium, The Profiles Vocabulary, W3C Working Group Note (18 December 2019). https://www.w3.org/TR/dx-prof/
-
[PROV] World Wide Web Consortium, The Profiles Vocabulary, W3C Working Group Note (18 December 2019). https://www.w3.org/TR/dx-prof/
-
[RDF]World Wide Web Consortium, RDF 1.1 Concepts and Abstract Syntax, W3C Recommendation (25 February 2014). https://www.w3.org/TR/rdf11-concepts/
-
[SDO] W3C Schema.org Community Group, schema.org. Community ontology (2015). https://schema.org
-
[SSN] World Wide Web Consortium, Semantic Sensor Network Ontology, W3C Recommendation (19 October 2017). https://www.w3.org/TR/vocab-ssn/
-
[SKOS] World Wide Web Consortium, SKOS Simple Knowledge Organization System Reference, W3C Recommendation (18 August 2009). https://www.w3.org/TR/skos-reference/
-
[TTL] World Wide Web Consortium, RDF 1.1 Turtle Terse RDF Triple Language, W3C Recommendation (25 February 2014). https://www.w3.org/TR/turtle/