| Ontology for self-describing networks | S-TEN D2.1 |
This section considers an example weather station, derived from the SensorML, which measures wind chill. Measuring wind chill is an sten:activity, which can be decomposed into component activities as shown in Figure 7.
Figure 7: Wind chill measurement activities
Items of information pass between the component activities. Each sten:activity is performed by a sten:device.
A wind chill measuring sten:device can be decomposed into component devices. The component devieces do not map one-to-one on to the component activities. The component devices are shown in Figure 8.
Figure 8: Wind chill measurement devices
The information recorded about activities, devices and information is intended to answer the questions:
| What was the source of the wind chill information, i.e. what device produced it? |
| What were the component items of information that were used to derive the wind chill information, and what devices produced them? |
The information about the activities, devices and information involved in a single measurement is shown in section A single measurement,
The basis of the approach to recording information about a measurement activity is as follows:
Using this approach, the objects involved in a measurement are as follows:
the activities:
| object identifier | object definition |
|---|---|
| the wind chill measurement activity | |
| AM_WC-T_L123-T456 | The activity that produces and transmits the information that the wind chill at location L123 at time 2007-02-05T18:50 is -25 degrees Celsius. This activity is performed by weather_station WS_123. |
| the component wind chill activities | |
| AM_AT_L123-T456 | The activity that measures the ambient temperature at location L123 at time 2007-02-05T18:50 (T456). This activity is performed by WS_123-AT. |
| AM_WS_L123-T456 | The activity that measures the wind speed at location L123 at time 2007-02-05T18:50. This activity is performed by WS_123-WS. |
| AP_WC_L123-T456 | The activity that calculates the wind chill at location L123 at time 2007-02-05T18:50 from the wind speed and temperature. This activity is performed by WS_123-P. |
| AM_T_L123-T456 | The activity that measures the time at location 1234 at time 2007-02-05T18:50. This activity is performed by WS_123-C. |
| AP_WC-T_L123-T456 | The activity that combines the wind chill and time records at location L123 at time 2007-02-05T18:50 and transmits them. This activity is performed by WS_123-P. |
the information items:
| object identifier | object definition |
|---|---|
| the wind chill information | |
| I_WC-T_L123-T456 | The information that the wind chill at location L123 at time 2007-02-05T18:50 (T456) is -25 degrees Celsius. This information is produced and transmitted by activities AM_WC-T_L123-T456 and AP_WC-T_L123-T456. |
| the component wind chill items of information | |
| I_AT_L123-T456 | The information that the ambient temperature is -5 degrees Celsius. This information is produced by activity AM_AT_L123-T456 and used by activity AP_WC_L123-T456. |
| I_WS_L123-T456 | The information that the wind speed is 30 metres per second. This information is produced by activity AM_WS_L123-T456 and used by activity AP_WC_L123-T456. |
| I_WC_L123-T456 | The information that the wind chill is -25 degrees Celsius. This information is produced by activity AP_WC_L123-T456 and used by activity AP_WC-T_L123-T456. |
| I_T_L123-T456 | The information that the time is 2007-02-05T18:50. This information is produced by activity AM_T_L123-T456 and used by activity AP_WC-T_L123-T456. |
the devices:
| object identifier | object definition |
|---|---|
| the weather station (a wind chill measuring device) | |
| WS_123 | The weather station WS_123. This performs the activity AM_WC-T_L123-T456. |
| the weather station components | |
| WS_123_AT | The ambient temperature instrument within WS_123. This performs the activity AM_AT_L123-T456. |
| WS_123_WS | The wind speed instrument within WS_123. This performs the activity AM_WS_L123-T456. |
| WS_123_C | The clock within WS_123. This performs the activity AM_T_L123-T456. |
| WS_123-P | The processor and transmitter within WS_123. This performs the activities AP_WC_L123-T456 and AP_WC-T_L123-T456. |
The representation of this information as OWL, serialised as N3, is given in the following clauses.
:AM_WC-T_L123_T456 a sten:observing_activity ;
a sten:information_processing_activity ;
a sten:transmitting_activity ;
sten:observed_by_device :WS_123 ;
sten:during [ sten:has_nominal_value
[ sten:utc_iso8601 "2007-02-05T18:50" ] ] ;
sten:gives_result_record :I_WC-T_L123_T456 ;
sten:has_partition [ owl:oneOf
( :AM_AT_L123_T456
:AM_WS_L123_T456
:AP_WC_L123_T456
:AM_T_L123_T456
:AP_WC-T_L123_T456
)
] .
The sten:physical_thing and the sten:physical_property can also be recorded as follows:
:AM_WC-T_L123_T456 sten:observes
[ a weather:ambient_air_at_location ;
sten:at :L123 ] ;
sten:observes_physical_property
weather:has_wind_chill_temperature .
The sten:result_graph can also be recorded directly, rather than referenced, as follows:
:AM_WC-T_L123_T456 sten:gives_result_graph
{ [ sten:temporal_part_of
[ a weather:ambient_air_at_location ;
sten:at :L123 ] ;
sten:at_time [ sten:utc_iso8601 "2007-02-05T18:50" ]
]
weather:has_wind_chill_temperature
[ bipm:celsius [ basics:decimal "-25.0" ] ]
} .
:AM_AT_L123_T456 a sten:observing_activity ;
sten:observed_by_device :WS_123_AT ;
sten:gives_result_record :I_AT_L123_T456 .
:AM_WS_L123_T456 a sten:observing_activity ;
sten:observed_by_device :WS_123_AT ;
sten:gives_result_record :I_WS_L123_T456 .
:AP_WC_L123_T456 a sten:information_processing_activity ;
sten:performed_by :WS_123_P ;
sten:has_set_of_input_records
[ owl:oneOf
(:I_AT_L123_T456
:I_WS_L123_T456
) ;
] ;
sten:has_output_record :I_WC_L123_T456 .
:AM_T_L123_T456 a sten:observing_activity ;
sten:observed_by_device :WS_123_C ;
sten:gives_result_record :I_T_L123_T456 .
:AP_WC-T_L123_T456 a sten:information_processing_activity ;
a sten:transmitting_activity ;
sten:performed_by :WS_123_P ;
sten:has_set_of_input_records
[ owl:oneOf
( :I_WC_L123_T456
:I_T_L123_T456
)
] ;
sten:has_output_record :I_WC-T_L123_T456 .
:I_WC-T_L123_T456
{ [ sten:temporal_part_of
[ a weather:ambient_air_at_location ;
sten:at :L123 ] ;
sten:at_time [ sten:utc_iso8601 "2007-02-05T18:50" ]
]
weather:has_wind_chill_temperature
[ bipm:celsius [ basics:decimal "-25.0" ] ]
}
a weather:wind_chill_at_location_at_time_record .
The wind chill temperature of -25 degrees Celsius is possessed by the anonymous object that is the temporal part of the ambient air at L123 at 2007-02-05T18:50. The ambient air at L123 is the anonymous object that is of type ambient_air_at_location and that has the location L123.
The provenance of the information can be recorded as follow:
:I_WC-T_L123_T456 sten:result_record_given_by :AM_WC-T_L123_T456 .
A classification of the instances of sten:result_record is as follows:
:I_AT_L123_T456 a weather:ambient_temperature_record . :I_WS_L123_T456 a weather:wind_speed_record . :I_WC_L123_T456 a weather:wind_chill_record . :I_T_L123_T456 a sten:time_record .
The content can be recorded as follows:
:I_AT_L123_T456
{ [ sten:temporal_part_of [ a weather:ambient_air_at_location ] ]
weather:has_temperature [ bipm:celsius [ basics:decimal "-5.0" ] ]
} .
:I_WS_L123_T456
{ [ sten:temporal_part_of [ a weather:ambient_air_at_location ] ]
weather:has_wind_speed [ sten:m/s [ basics:decimal "30.0" ] ]
} .
:I_WC_L123_T456
{ [ sten:temporal_part_of [ a weather:ambient_air_at_location ] ]
weather:has_wind_chill [ bipm:celsius [ basics:decimal "-25.0" ] ]
} .
:I_T_L123_T456
{ [ sten:temporal_part_of [ a sten:classical_object ] ]
sten:at_time [ sten:utc_iso8601 "2007-02-05T18:50" ]
} .
The weather station and its parts are recorded as follows:
:WS_123 a sten:observing_device ;
a sten:information_processor .
a sten:transmitter .
a weather:wind_chill_at_location_at_time_recorder ;
sten:has_part :WS_1234_AT ;
sten:has_part :WS_1234_WS ;
sten:has_part :WS_1234_C ;
sten:has_part :WS_1234_P .
The has_partition relationship is not used here because it is not asserted that there are no other parts.
NOTE This statement has been made without using temporal parts. It is valid only if WS_123 and its parts are all instances of sten:facility which are commissioned and decommissioned at the same time. An equivalent statement refering to instances of sten:physical_asset with serial numbers would use temporal parts, because a part with a serial number is manufactured before becoming part of the whole.
The classification of the components is as follows:
:WS_123_AT a sten:observing_device ;
a weather:ambient_temperature_recorder .
:WS_123_AT a sten:observing_device ;
a weather:wind_speed_recorder .
:WS_123_C a sten:observing_device ;
a sten:clock .
:WS_123_P a sten:device ;
a sten:information_processor .
a sten:transmitter .
The connectivity of the components is not stated here. The actual flow of information in a past activity is recorded for The component wind chill activities. However, the design of the weather station is concerned with how information can flow in the future. This is discussed in What the weather station can do.
The wind chill measurement is made at "location L123". This can be:
the location of the weather station throughout its life at a fixed point on the earths surface;
This case occurs where WS_123 is a sten:facility which is commissioned at L123, and which would be regarded as a different object if it were moved anywhere else. The location of WS_123 at L123, and the position of the L123 with respect to WGS84, is recorded as follow:
:WS_123 sten:occupies [ sten:has_nominal_value :L132 ] . :L123 nga:wgs84 ( 12345.6 789012.4 ) .
the location of the weather station for a period of its life at a fixed point on the earths surface;
This case occurs where WS_123 is a sten:physical_asset which is placed at L123 for a period. The location of WS_123 at L123, and the position of the L123 with respect to WGS84, is recorded as follow:
[ sten:temporal_part_of :WS_123 ]
sten:during [ rdfs:comment "a period of time is defined here" ] ;
sten:occupies [ sten:has_nominal_value :L132 ] .
:L123 nga:wgs84 ( 12345.6 789012.4 ) .
the location of the weather station throughout its life, but at a different points on the earths surface at different times.
This case occurs where L123 is defined to be where WS_123 is located. The location of WS_123 at L123, and the position of the L123 with respect to WGS84 at an instant, is recorded as follow:
:WS_123 sten:occupies [ sten:has_nominal_value :L132 ] .
[ sten:temporal_part_of :L123 ]
sten:at_time [ rdfs:comment "an instant in time is defined here" ] ;
nga:wgs84 ( 12345.6 789012.4 ) .
The information recorded in A single measurement is concerned with sten:observing_activity, the sten:observation_device that performs it, and the information that is obtained.
It is also necessary to know:
| What types of sten:observing_activity can be performed by an sten:observation_device, and what types of information can be obtained? |
| What are the components of an sten:observation_device, what do they do, and how does information flow between them? |
NOTE 1 The idea of "can" is tricky, because a device may never be actually do what it can. The S-TEN approach considers the set of all possible future worlds. What a device can do is what the device does in one of these worlds. This is discussed in more detail in Meaning of "can".
The classes associated with WS_123 are as follows:
the classes of information:
| object identifier | object definition |
|---|---|
| the class of wind chill information | |
| C_I_WC-T_L123 | The class of all information records of the wind chill at a time at location L123. |
| the component classes of wind chill information | |
| C_I_AT_L123 | The class of all information records of ambient temperature at location L123. |
| C_I_WS_L123 | The class of all information records of wind speed at location L123. |
| C_I_WC_L123 | A class of all information records of wind chill at location L123. |
| C_I_T_L123 | The class of all information records of time at location L123. |
the classes of activity:
| object identifier | object definition |
|---|---|
| the class of wind chill measurement activity | |
| C_AM_WC-T_L123 | The class of all observation activities that produce and transmit information of class C_I_WC-T_L123. |
| the component classes of wind chill measurement activity | |
| C_AM_AT_L123 | The class of all observation activities that produce information of class C_I_AT_L123 and send it to an activity of class C_AP_WC_L123. |
| C_AM_WS_L123 | The class of all observation activities that produce information of class C_I_WS_L123 and send it to an activity of class C_AP_WC_L123. |
| C_AP_WC_L123 | The class of all processing activities that produce information of class C_I_WC_L123 on the basis of information received from activities of class C_AM_AT_L123 and C_AM_WS_L123, and send it to an activity of class C_AP_WC-T_L123. |
| C_AM_T_L123 | The class of all observation activities that produce information of class C_I_T_L123 and send it to an activity of class C_AP_WC-T_L123. |
| C_AP_WC-T_L123 | The class of all processing activities that produce information of class C_I_WC-T_L123 on the basis of information received from activities of class C_AP_WC_L123 and C_AM_T_L123, and transmit. |
The class C_AM_WC-T_L123 defines what WS_123 can do.
NOTE 2 If WS_123 has a finite service life, then the class should also have a period of time as a criterion.
Similarly:
The representation of this information as OWL, serialised as N3, is given in the following clauses.
:C_I_WC-T_L123 owl:equivalentClass
[ owl:intersectionOf
( weather:wind_chill_at_location_at_time_record
[ owl:onProperty sten:result_record_about ;
[ owl:onProperty sten:temporal_part_of ;
owl:hasValue
[ a weather:ambient_air_at_location ;
sten:at :L123
]
]
]
)
] .
:C_I_AT_L123 owl:equivalentClass
[ owl:intersectionOf
( weather:ambient_temperature_record
[ owl:onProperty sten:result_record_about ;
[ owl:onProperty sten:temporal_part_of ;
owl:hasValue
[ a weather:ambient_air_at_location ;
sten:at :L123
]
]
]
)
] .
:C_I_WS_L123 owl:equivalentClass
[ owl:intersectionOf
( weather:wind_speed_record
[ owl:onProperty sten:result_record_about ;
[ owl:onProperty sten:temporal_part_of ;
owl:hasValue
[ a weather:ambient_air_at_location ;
sten:at :L123
]
]
]
)
] .
:C_I_WC_L123 owl:equivalentClass
[ owl:intersectionOf
( weather:wind_chill_record
[ owl:onProperty sten:result_record_about ;
[ owl:onProperty sten:temporal_part_of ;
owl:hasValue
[ a weather:ambient_air_at_location ;
sten:at :L123
]
]
]
)
] .
:C_I_WC_L123 owl:equivalentClass
[ owl:intersectionOf
( sten:time_record
[ owl:onProperty sten:result_record_about ;
[ owl:onProperty sten:temporal_part_of ;
owl:hasValue
[ a weather:ambient_air_at_location ;
sten:at :L123
]
]
]
)
] .
:C_AM_WC-T_L123 owl:equivalentClass
[owl:intersectionOf
( sten:observing_activity
sten:transmitting_activity
[ owl:onProperty sten:gives_result_record ;
owl:allValuesFrom :C_I_WC-T_L123
]
)
] .
Each member of the class of activity :C_AM_WC-T_1234 can be partitioned into a set which consists of a member of each of:
To represent this formally, it is necessary to define a set which consists of all selections of one from each of a set of sets. It is not clear that you can do this using the OWL vocabulary. Hence a new owl:ObjectProperty sten:selection_from is proposed as follows:
:C_AM_WC-T_1234 rdfs:subClassOf
[ owl:onProperty sten:has_partition
owl:allValuesFrom
[ owl:onProperty sten:selection_from ;
owl:someValuesFrom
[ owl:oneOf
[ owl:oneOf
( C_AM_AT_1234
C_WS_1234
C_AP_WC_1234
C_AM_T_1234
C_AP_WC-T_1234
)
]
]
]
] .
:C_AM_AT_L123 owl:equivalentClass
[ owl:intersectionOf
( sten:observing_activity
[ owl:onProperty sten:gives_result_record ;
owl:allValuesFrom
[ owl:intersectionOf
( :C_I_AT_L123
[ owl:onProperty sten:input_to ;
owl:someValuesFrom :C_AP_WC_L123
]
)
]
]
)
] .
:C_AM_WS_L123 owl:equivalentClass
[ owl:intersectionOf
( sten:observing_activity
[ owl:onProperty sten:gives_result_record ;
owl:allValuesFrom
[ owl:intersectionOf
( :C_I_WS_L123
[ owl:onProperty sten:input_to ;
owl:someValuesFrom :C_AP_WC_L123
]
)
]
]
)
] .
:C_AP_WC_L123 owl:equivalentClass
[owl:intersectionOf
( sten:information_processing_activity
[ owl:onProperty sten:has_input_set
owl:allValuesFrom
[ owl:onProperty maths:has_number_of_members
owl:hasValue [ basics:decimal "2" ]
]
]
[ owl:onProperty sten:has_input ;
owl:someValuesFrom :C_I_AT_L123
]
[ owl:onProperty sten:has_input ;
owl:someValuesFrom :C_I_WS_L123
]
[ owl:onProperty sten:has_output ;
owl:allValuesFrom :C_I_WC_L123
]
)
] .
:C_AM_T_L123 owl:equivalentClass
[ owl:intersectionOf
( sten:observing_activity
[ owl:onProperty sten:gives_result_record ;
owl:allValuesFrom
[ owl:intersectionOf
( :C_I_T_L123
[ owl:onProperty sten:input_to ;
owl:someValuesFrom :C_AP_WC-T_L123
]
)
]
]
)
] .
:C_AP_WC-T_L123 owl:equivalentClass
[owl:intersectionOf
( sten:information_processing_activity
( sten:transmitting_activity
[ owl:onProperty sten:has_input_set
owl:allValuesFrom
[ owl:onProperty maths:has_number_of_members
owl:hasValue [ basics:decimal "2" ]
]
]
[ owl:onProperty sten:has_input ;
owl:someValuesFrom :C_I_WC_L123
]
[ owl:onProperty sten:has_input ;
owl:someValuesFrom :C_I_T_L123
]
[ owl:onProperty sten:has_output ;
owl:allValuesFrom :C_I_WC-T_L123
]
)
] .
The capability of weather station WS_123 is defined by reference to the activities as follow:
:WS_123 sten:can_do_plan_within :C_AM_WC-T_L123 .
:WS_123_AT sten:can_do_plan_within :C_AM_AT_L123 .
:WS_123_WS sten:can_do_plan_within :C_AM_WS_L123 .
:WS_123_C sten:can_do_plan_within :C_AM_T_L123 .
:WS_123_P sten:can_do_plan_within :C_AP_WC_L123 ;
sten:can_do_plan_within :C_AP_WC-T_L123 .
It is possible to go from statements about what an individual device can do, to statements about what a class of device can do.
WS_123 is of class C_WS_ABC. We can state that all members of class C_WS_ABC can perform an activity of class C_AM_WC-T_L123, as follows:
:C_WS_ABC a [ owl:onProperty sten:can_do ;
owl:someValuesFrom [ owl:oneOf ( :C_AM_WC-T_L123 ) ]
] .
The specification of how members of class C_WS_ABC are decomposed into components of different classes is design information about an assembly. The recording of this design information is within the scope of S-TEN deliverables D3.1 and D3.2.
© S-TEN Association e.V. — Public deliverable of the S-TEN project