This namespace is where common terminology and ontology across all of the Urban Observatories resides.
Please submit a pull request and allow time for comments if you wish to add a term.
Terminology that is unique to your institution of a specific sensor network may also be defined in a local vocabulary.
New terms MUST be added to the defines array within the relevant index.json document.
Each term MUST contain the following properties:
| Key | Description |
|---|---|
| @id | A unique identifier for the term you are identifying, that will be used by documents authored against the vocabulary. It MUST begin with the vocabulary file's given prefix. Naming convention is that an |
| @type | The type of term defined. The
|
| term_status | A text description that indicates whether the term is suitable for use in production systems or likely to change. It MUST be one of:
|
In addition, each term SHOULD contain the following properties:
| Key | Description |
|---|---|
| label | The label MAY be used to provide a human-readable version of the term. This is often likely to be the same as the A good label might be "made by sensor" for the property "madeBySensor". |
| comment | The comment MAY be used to provide a more verbose description of the term. It should be human-readable. A good comment might be "A collection of resources that may be viewed through pages or filtered" for |
In addition, a term definition for an rdf:Property MUST include:
| Key | Description |
|---|---|
| domain | A reference to an For example, a Where multiple domains are specified, this indicates that all of the given classes are applicable. Use |
In addition, a term definition MAY include:
| Key | Description |
|---|---|
| range | A reference to one or more Where multiple ranges are specified, this indicates that all of the given classes are applicable. Use |
| subClassOf | All instances of this class are also instances of another class. |
| subPropertyOf | All instances of this property are also instances of another property. |
| seeAlso | A reference that provides additional information. This does not have to be machine readable, and could for example be a Wikipedia entry or similar. |
| sameAs | An indication that a resource is referring to exactly the same thing. This is most appropriate for physical things (e.g. a room in a building that exists in two different APIs may be linked this way) rather than conceptual relationships, which may be better described as a sub-class or sub-property. |
The following table describes which case MUST be used for the @id of new definitions. Note the use of compact IRIs, e.g. using the prefix uo:.
| Definition Type | Case | Examples |
|---|---|---|
| Class | PascalCase | uo:Discipline, uo:ObservableProperty, uo:Collection |
| Property | camelCase | uo:recommendedUnit, uo:hasMember |
| Instances | kebab-case | uo:atmospheric-chemistry, uo:air-temperature, uo:millimetre, uo:earth-atmosphere |
The label property of instances should be short, but meaningful. The description can always be used to provide more detail. In most cases the first word in the label should be capitalised, e.g.: Air temperature or Atmospheric chemistry. However labels are allowed to break this rule if it results in the label having more meaning. Take the following examples:
- The unit
Degree Celsius- BecauseCelsiusis a surname it is appropriate to capitalise it too. - The observed property
PM₁₀ mass concentration- The common approach to writing particulate matter is to abbreviate it toPMand therefore writting it asPmwould cause confusion, thus we use the common convention. - The observed property
RSSI- received signal strength indicator is far more commonly written as RSSI and therefore this is more appropriate for use as a label.
The benefit of this approach to capitalisation is that end-users can choose to use the capitalised form, or they can easily convert the whole string to the lowercase if they wish. It would be much harder to go in the other direction, i.e. we define it in all lowercase and force the end-user to correctly capitalise it.