DevOnt: Modelling Accuracy

Modeling accuracy related concepts

This page describes how DevOnt allows to capture dependencies between various measurement capabilities, and this is illustrated with an ontology that (partially) models a particular instrument family.


The mechanism that allows to capture dependency conditions related with measurement capabilities is the object property hasMeasurementCapabilityCondition with domain and range: MeasurementCapability (rdfs:label=hasCondition). The relevant elements from the ontology for the example below are shown in the following figure (edges are labelled with the associated rdfs:label of the properties):


Note that two ValueType individuals (percent and mPerSec) are included, but these will eventually be located in an external ontology.

Modeling the VaisalaWM30 class

The instrument for this example is

In particular, accuracy specifications for the wind speed measurement capability of this instrument are:

Accuracy (range 0.4...60 m/s)
      wind speed up to 10 m/s    --   ±0.3 m/s
      wind speed over 10 m/s     -- error < 2%

We capture the two different wind speed ranges with corresponding MeasurementCapability instances. We capture the associated dependent accuracies also with corresponding MeasurementCapability instances. Then we establish the associated conditions.

We define the class VaisalaWm30 as subclass of Sensor and also as subclass of a restriction involving the relevant measurement capabilities. This is how it looks in Protégé 4.0:


This is the resulting vaisalawm30 ontology, which can be depicted as follows:



  • windSpeedMR_1 and windSpeedMR_2 are the actual wind speed measurement capabilities of the instrument.
  • accuracy_9 and accurace_10 are the corresponding conditions (these accuracies happen to be also given in terms of ranges)
  • From the diagram we can say that the an instance of VaisalaWm30 can:
    • measure wind speed in the range 10-60 m/s with an accuracy of 0-2%
    • measure wind speed in the range 0-10 m/s with an accuracy of ±0.3 m/s


Some other more general observations arise from this example and the current version of the device ontology:

  • There are other possible mechanisms to define the VaisalaWm30 class, for example, without having to rely on explicit instances for accuracies and ranges. See also [1] for related approaches addressing this kind of modeling requirement.
  • The percent and mPerSec instances are defined in DevOnt but should probably be located elsewhere as part of a more comprehensive list of ValueTypes and units of measure.
  • There is no any definition of "wind speed" associated with the measurement capabilities. We would need to include such association preferably pointing to appropriate ("standard") controlled vocabularies. Similar consideration for units of measure (as we have discussed).

I like this instance example, but I suspect that lurking under the above bullet points, especially the last, lie an immense amount of controlled vocabulary development work, preceeded by the development of some competency questions to determine whether the underlying ontologies are expressive enough to address community needs. (Example: "Do a VaisalaWM30 and an Inspeed Vortex Anemometer measure the same thing?").  These questions are probably orthogonal to use cases, and are more like scenarios, but for which it is clear there is an answer, e.g. by SPARQL or perhaps informally. [2] is an example in a taxonomic domain.   --Bob Morris




devontacc-example.owl5.17 KB
MeasCap_hasCondition.png147.91 KB
devontacc-example3.png74.08 KB
VaisalaWm30Class.png21.36 KB
MeasCap.png91.85 KB
vaisalawm30.png86.18 KB
vaisalawm30.owl9.21 KB