Example Step 4: Define a naming scheme

In this step we define a scheme for assigning URIs to the dataset. We deviate slightly from the proposed Dutch national URI strategy. Our URIs have the following structure:

http://{domain}/{type}/{dataset%7Contology}/{concept}/{reference}

where

  • {domain} should be an internet domain (URL) that the data owner controls where the data will be published and the URIs can be dereferenced. In this case, ‘data.liander.nl’ seems appropriate.
  • {type} is either ‘id’ if the URI is an identifier of an object (individual/instance), ‘doc’ if it refers to the metadata about an object, or ‘def’ if it refers to the definition of a concept in an ontology.
  • {dataset|ontology} is either the short name of the dataset or of the ontology. In our case, we use the name ‘energy’ for both. We have made this addition for pragmatic reasons. We intend to publish this dataset alongside other datasets and ontologies on the same server. Therefore, we need a way to distinguish datasets and ontologies.
  • {concept} is the name of the concept to which the object identified by the URI refers.
  • {reference} should be a unique number or code identifying the object within the namespace. It can be a name or a number, as long as they are unique and not too long. For usage areas, we will use the concatenation of the starting and final postcodes as reference; for usage points, the postcodes followed by ‘E’ (for Electricity) or ‘G’ (for Gas); for Measurements, the date and the reference of the usage point.


Concepts in an ontology are referenced by their name. Therefore, the {reference} is left empty in this case. And rather than a ‘/’ the hash (#) is used to separate the {concept} from the rest of the URI. This is a best practice for naming ontology concepts that is supported by most ontology editors. Following this scheme we get for example the following URIs:


Go back to example overview