Model Primer
A brief explanation on how to interpret the annotated datasets
Information Model Description
Activity 2.3 in CityPulse EU FP7 project captured a number of semantically annotated datasets to be used from subsequent work packages, but also from the community. The annotated datasets are based in the Information Model designed in work package 3. Every dataset is represented in Terse RDF Triple Language (Turtle) format, and builds on a number of ontologies including:
- SAO ontology for semantic stream annotation
- MUO ontology and UCUM vocabulary for representing units of measurement (link). In addition, activity 2.3 extended MUO with it's own "smart city" vocabulary, extending MUO with all measurements not found in UCUM (click here for CityPulse MUO vocabulary).
- Timeline ontology used by SAO ontology above for describing time instances
- SSN ontology used by SAO ontology above for describing observations
- City Traffic ontology from Insight Centre for describing contextual information of data streams
The structure of a semantically annotated dataset is illustrated below. In this example, the dataset contains one data stream, with 3 temperature readings in Celsius degrees from a hypothetical sensor measuring temperature in Stockholm, Sweden (note that the notation below is in .ttl - turtle format):
There are three areas to note:
The sao:streamEvent object, which describes some general properties of the data stream: the time of the first observation belonging to this data stream as well as the time of the last observation belonging to the same stream. Additionally, it references all the data points, i.e. the individual observations. Note that every resource in the data stream is identified by a general property prefix (stream_event for the streamEvent object, point for the individual observations as well as stream for the feature of interest, which we will cover later in this section), as well as an appended, randomly-generated hash.
A series of sao:Point objects, each accounting for an individual observation. Every such object has a unit of measurement attached to it (the unit of measurement in this case is degrees Celsius and is described in the UCUM repository), a an optional featureOfInterest association in case such an object exists, as well as the time of observation and the observed (could be an integer, string, etc., according to the unit of measurement description).
The sao:featureOfInterest instance is an optional instance, and is there to provide a general description for the data stream. In this case it describes the location where the measurements have taken place, both using geographical coordinates as well as a general description of the location. Note the one to many association between the sao:Point instances and the sao:featureOfInterest. This is not always the case, as individual Point instances can reference different featureOfInterest instances (see for example the traffic ontology above). This can be cases where a sensor is mobile, or sensors form different groups in different locations, etc.