SAREF: the Smart Applications REFerence ontology
The Smart Applications REFerence ontology (SAREF) is intended to enable interoperability between solutions from different providers and among various activity sectors in the Internet of Things (IoT), thus contributing to the development of the global digital market.
Information about changes compared to version 3.1.1: - Added the saref:FeatureKind class - Added the saref:PropertyOfInterest class - Added the saref:StateOfInterest class
Information about changes compared to version 2.1.1: - Added the saref:FeatureOfInterest class and the properties used to relate it to saref:Measurement (saref:hasMeasurement and saref:isMeasurementOf) and to saref:Property (saref:hasProperty and saref:isPropertyOf). - Added the saref:measurementMadeBy property as inverse of saref:makesMeasurement. - The saref:relatesToProperty and saref:relatesToMeasurement properties are now inverse of each other. - The range of saref:hasValue, which was defined as xsd:float, has been removed to support other datatypes for measurements. - The range of datatype properties, which was defined as xsd:string, has been removed in order to support strings with language tags (rdf:langString). This affects saref:hasDescription, saref:hasManufacturer, saref:hasModel and saref:hasName, which now have implicitly a range of rdfs:Literal. - The saref:hasName property has been removed and the use of rdfs:label is recommended. - The saref:hasDescription property has been deprecated and the use of rdfs:comment is recommended. - Too restrictive restrictions have been removed and in some cases the ontology documentation has been updated to reflect this: a saref:Command having at most one saref:hasDescription; a saref:Task being accomplished by at least one saref:Device; a saref:Device having a typical consumption of only energy or power; a saref:Commodity being measured in units of measure; restrictions on the values of saref:accomplishes that only covered specific use cases; universal restrictions on the saref:actsUpon property have been changed to existential ones; restrictions on the commands that a saref:Function may have, since there could be others not included in the defined enumerations; restrictive documentation of saref:EventFunction and saref:SmokeSensor. - Bugs have been fixed: some devices (saref:DoorSwitch, saref:EnergyMeter, saref:LigthSwitch, saref:SmokeSensor, and saref:TemperatureSensor) were defined as subclass of a device and at the same time as consisting of such device; a saref:LightSwitch controls light and does not measure light, since it is an actuator; incorrect documentation of saref:OnState and saref:OffState. - The saref:BuildingRelated, saref:EnergyRelated and saref:FunctionRelated classes have been removed, since the different extensions already classify the device types. - The instances of the subclasses of saref:Command have been removed, since they represent examples. - The instances of saref:UnitOfMeasure have been moved to examples. - The classes related to the SAREF4ENER extension have been removed: saref:Generator, saref:Storage, saref:Load and saref:EnergyMeter. - Some instances of saref:Device have been moved to examples: saref:WashingMachine, saref:LightingDevice, saref:MicroRenewable, saref:Multimedia, and saref:Network. - Added domain and range axioms wherever the definition of a property unambiguously identifies the domain or the range of the property. - The OWL Time ontology is not imported anymore. - The documentation of some ontology terms has been updated for clarification. - Language tags have been added to all labels and comments.
Information about changes compared to version 1.1.1: - The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings, including the reuse of the W3C? WGS84 geo positioning vocabulary. - The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class. - The information specific for energy efficiency has been moved to the SAREF4ENER extension. For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension. - The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy). - The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension, in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property). - Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed. - The saref:UnitOfMeasure subclasses use individuals from the OM ontology for unit of measures, but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used. - The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes. - The subclasses of saref:Task have been transormed in individuals. - The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class.
A feature of interest represents any real world entity from which a property or a state may be acted upon, such as measured and controlled. An instance of saref:FeatureOfInterest represents one specific real world entity.
Feature of interest
Feature kinds allow to describe kinds of features of interest, with common properties having the same value, and common states being the same. An instance of saref:FeatureKind represents an archetype of real world entities, for example to populate product catalogs.
Feature kinds
has feature kind
links a feature of interest to its kind, a feature kind
A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)
consists of
has description
DEPRECATED: The use of rdfs:comment is recommended instead.
A relationship providing a description of an entity (e.g., device). The value is expected to be a string or a string with language tag.
has manufacturer
A relationship identifying the manufacturer of an entity (e.g., device). The value is expected to be a string or a string with language tag.
has model
A relationship identifying the model of an entity (e.g., device). The value is expected to be a string or a string with language tag.
A tangible object designed to accomplish a particular task. In order to accomplish this task, the device performs one or more functions. An instance of saref:Device represents one specific real world entity.
For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function.
Examples of devices are a light switch, a temperature sensor, an energy meter, a water flow meter, and a laundry dryer. A laundry dryer is designed to dry laundry, and to accomplish this task it has a start/stop function.
Device
has device kind
Links a device to its kind, a feature kind. Kinds of devices describe models of devices, with common properties having the same value, common states being the same, common functions, and common services.
acts upon
Links a device, function, command, or procedure execution, to the feature, property, or state, it acts upon.
is acted upon by
Links a feature, property, or state, to the device, function, command, or procedure execution, that acts on it.
measures
Links a device, function, command, or procedure execution, to the feature or property it measures.
is measured by
Links a feature, property, or state, to the device, function, command, or procedure execution, that measures it.
observes
Links a device, function, command, or procedure execution, to the feature, property, or state, it observes.
is observed by
Links a feature, property, or state, to the device, function, command, or procedure execution, that observes it.
controls
Links a device, function, command, or procedure execution, to the feature, property, or state, it controls.
is controlled by
Links a feature, property, or state, to the device, function, command, or procedure execution, that controls it.
DEPRECATED: will be deleted in the next major revision of SAREF
A relationship specifying the property that can be measured by a certain device
measures property
A relationship specifying the devices that can measure a certain property
is measured by device
A relationship specifying the devices that can control a certain property
is controlled by device
A relationship specifying the property that can be controlled by a certain device
controls property
A device designed to accomplish a particular task for occupant use. It consumes, produces, or stores, some commodity.
Appliance
A device designed to observe one or more properties or states of one or more features of interest.
Sensor
A device designed to control one or more properties or states of one or more features of interest.
Actuator
A device designed to measure one or more properties of one or more features of interest.
Meter
Task
The goal for which a device is designed, from a user perspective.
For example, a washing machine is designed for the task of washing.
Tasks can be accomplished by devices (saref:isAccomplishedBy).
A type of task for which a device is designed
Cleaning
Comfort
Drying
EnergyEfficiency
Entertainment
Lighting
Meter reading
Safety
Washing
WellBeing
accomplishes
Links a certain entity (e.g., a device) to the task it accomplishes.
is accomplished by
A relationship identifying an entity (e.g., a device) that can accomplish a task.
A marketable item which may be supplied without qualitative differentiation.
SAREF refers to energy commodities such as electricity, gas, coal and oil.
Commodity
DEPRECATED: will be defined as an instance of saref:Commodity in the next major revision of SAREF
A type of energy commodity
Electricity
Gas
A type of commodity
Coal
Water
Energy Commodity
The class of energy commodities
Natural Resource Commodity
The class of natural resource commodities
DEPRECATED: may be deleted in the next major revision of SAREF
Links a feature kind, feature of interest, or device, to the commodity it is used for
is used for
consumes
Links a feature kind, feature of interest, or device, to the commodity it consumes
is consumed by
Links a commodity to the feature kind, feature of interest, or device, that consumes it
produces
Links a feature kind, feature of interest, or device, to the commodity it produces
is produced by
Links a commodity to the feature kind, feature of interest, or device, that produces it
stores
Links a feature kind, feature of interest, or device, to the commodity it stores
is stored by
Links a commodity to the feature kind, feature of interest, or device, that stores it
Property
Identifiable qualities of features of interest that can be acted upon by devices, such as measured or controlled. A property can apply to different features of interest.
Until SAREF V3.1.1, there was an ambiguity between whether properties should be specific or generic to features of interest. This ambiguity has been solved in SAREF V3.2.1, and the new modeling will be enforced in the next major revision of SAREF.
Concepts from existing code lists, vocabularies, and taxonomies, may be used as instances of saref:Property.
Air temperature, pressure, luminance, etc. are all properties.
Two examples using the QUDT Quantity Kind vocabulary, and the British Oceanographic Data Centre Parameter Usage Vocabulary. <https://qudt.org/2.1/vocab/quantitykind/ActiveEnergy> a saref:Property ; rdfs:label "Active Energy"@en ; rdfs:comment ""Active Energy" is the electrical energy transformable into some other form of energy."@en . <http://vocab.nerc.ac.uk/collection/P01/current/CDTSZZ01/> a saref:Property ; skos:prefLabel "Absolute temperature standard deviation of the atmosphere by dry bulb thermometer"@en .
has property
Links a feature kind or a feature of interest to one of its properties.
is property of
Links a property to the feature kind or feature of interest it is a property of.
Property of Interest
Identifiable qualities of features of interest that can be acted upon by devices, such as measured or controlled. An instance of saref:PropertyOfInterest is specific to a feature of interest. It is inherent to and cannot exist without that feature of interest.
Until SAREF V3.1.1, there was an ambiguity between whether properties should be specific or generic to features of interest. This ambiguity has been solved in SAREF V3.2.1, and the new modeling will be enforced in SAREF V4.1.1.
A property of interest is the property of (OP saref:isPropertyOfInterestOf) exactly one feature of interest.
Per convention, the IRI of properties of interest should consist of the IRI of their feature of interest, suffixed with a fragment identifier #{P} where {P} refers to the name of the property.
The air temperature of the atmosphere sample at a certain location and altitude, the received signal strength indicator of an wireless IoT connection, the luminance of the ETSI ATHENA amphitheatre. <etsi_premises/athena#luminance> a saref:PropertyOfInterest ; saref:isPropertyOfInterestOf <etsi_premises/athena> ; saref:hasPropertyKind saref:Luminance ; rdfs:comment "The luminance of amphitheatre ATHENA"@en .
Properties of interest need not always be explicited. It depends on the use case. Typically, properties of interest are useful in applications, where the association between a feature of interest and a property (i.e., the property of interest) needs to be identified and related to other properties of interest.
Links a feature of interest to one of its properties of interest.
has property of interest
Links a property of interest to the feature of interest it is a property of.
is property of interest of
links a property of interest to its kind, a property.
Property Value
Describes the value for a property. The property value is linked to its value expressed as an RDF literal (DP saref:hasValue), optionally to the unit of measurement (OP saref:isMeasuredIn), and optionally to the properties or properties of interest it is a value of (OP saref:isValueOfProperty).
Value of a property value expressed as an RDF literal. Note that, even if decimal values are expected, values could use other datatypes.
has value
A relationship identifying the unit of measure used for a certain entity.
is measured in
The unit of measure is a standard for measurement of a quantity, such as a Property.
Unit of measure
For example, consumption power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power "Watt".
Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM).
Concepts from existing code lists, vocabularies, and taxonomies, may be used as instances of saref:UnitOfMeasure. For example the QUDT Unit vocabulary
has property value
Links a feature kind, a feature of interest, or a property of interest, to a property value.
is value of property
Links a property value to the property or property of interest it is a value of.
State
Identifiable conditions that features of interest are or may be in, and that can be acted upon by devices, such as observed and controlled. A state can apply to different features of interest.
A switch can be found in the saref:OnOffState, which is further specialized in saref:OnState and saref:OffState.
SAREF is not restricted to binary states such as the saref:OnOffState, but allows to define also n-ary states (see, for example, the saref:MultiLevelState class).
Concepts from existing code lists, vocabularies, and taxonomies, may be used as instances of saref:State.
has state
Links a feature kind or a feature of interest to one of its states.
is state of
Links a state to the feature kind or feature of interest it is a state of.
State of Interest
Identifiable conditions that features of interest are or may be in, and that can be acted upon by devices, such as observed and controlled. An instance of saref:StateOfInterest is specific to a feature of interest. It is inherent to and cannot exist without that feature of interest.
A state of interest is the state of (OP saref:isStateOfInterestOf) exactly one feature of interest.
Per convention, the IRI of states of interest should consist of the IRI of their feature of interest, suffixed with a fragment identifier #{S} where {S} refers to the name of the state.
States of interest need not always be explicited. It depends on the use case. Typically, states of interest are useful in applications, where the association between a feature of interest and a state (i.e., the state of interest) needs to be identified and related to other states of interest.
Links a feature of interest to one of its states of interest.
has state of interest
Links a state of interest to the feature of interest it is a state of.
is state of interest of
has state kind
links a state of interest to its kind, a state
Function
Logical groups of commands that devices support to accomplish their tasks. Function can act upon (OP saref:actsUpon and its sub-properties) features, properties, or states. An instance of saref:Function can apply to different devices.
To accomplish the task of controlling the light, a smart light switch may have a function for turning on and off the light, and another to set the luminosity of the light.
To accomplish the task of sensing the temperature, a temperature sensor should have a sensing function.
To accomplish the task of washing clothes, a washing machine should have a function for washing.
DEPRECATED: may be defined as an instance of saref:Function in the next major revision of SAREF
has function
Links a feature kind or a device to one of its functions.
is function of
Links a function to the feature kind or device it is a function of.
Function of Interest
Logical groups of commands that devices support to accomplish their tasks. Function can act upon (OP saref:actsUpon and its sub-properties) features, properties, or states. An instance of saref:FunctionOfInterest is supported by exactly one device.
A function of interest is the function of (OP saref:isFunctionOfInterestOf) exactly one device.
Functions of interest need not always be explicited. It depends on the use case. Typically, functions of interest are useful to specify which command is actually exposed, and which actual property of interest or state of interest it acts upon.
Links a device to one of its functions of interest.
has function of interest
Links a function of interest to the device it is a function of.
is function of interest of
has function kind
links a function of interest to its kind, a function
Command
The lowest-level directives a function exposes to some network. Commands can act upon (OP saref:actsUpon and its sub-properties) features, properties, or states. An instance of saref:Command is independent of any device.
Measure property, control property, observe state, control state, invoke action, cancel action, turn on or off, change color, subscribe, publish, etc. are all commands.
has command
Links a function or function of interest and the command it supports.
is command of
Links a command and a function or function of interest that supports it.
has mandatory command
Links a function and one of its mandatory commands
has optional command
Links a function and one of its optional commands
has input
Links a command to one of its input parameters.
Different complementary commands can be defined for controlling a light. Turn on or off the light based on a desired state, toggle the light status of a specific light, set the luminosity level with a transition time, set the default transition time, start comfort.
has output
Links a command to one of its output parameters.
Different complementary commands can be defined for measuring and observing a smart home. Measure the temperature once will output the indoor temperature property; observe status of the entry door will output an open/close state.
Command Of Interest
The lowest-level directives a device supports and exposes to some network. Commands can act upon (OP saref:actsUpon and its sub-properties) features, properties, or states. A saref:CommandOfInterest is a directives actually supported by a device and exposed to some network.
Like for commands, commands of interest may be described in terms of their input parameters, outputs, and of which properties or states they act upon.
Commands of interest need not always be explicited. It depends on the use case. Typically, commands of interest are useful to specify the actual property of interest or state of interest that is expected as input parameter, output, or that will be acted upon.
The corridor smart light switch supports a command of kind “turn on/off”, which controls the state of the outdoor light.
The smart fridge supports a command of kind “measure temperature”, which measures the temperature of the fridge.
Links a function of interest to one of its commands of interest.
has command of interest
Links a command of interest to the function of interest it is a command of.
is command of interest of
has command kind
links a command of interest to its kind, a command.
DEPRECATED: may be defined as an instance of saref:Command in the next major revision of SAREF
Service
A saref:Service is a digital representation of a function in a network, making it discoverable, registerable and remotely controllable in the network.
Typically, a device connected to a given network offers one service for each of its functions of interest.
For example, a light switch can offer the service of remotely switching the lights in a home through mobile phone devices that are connected to the local network (ex:SwitchOnService class). This "remote switching" service represents the ex:OnOffFunction.
represents
Links a service to some function or function of interest it exposes to the network. Also links an operation to some command or command of interest it exposes to the network.
offers
Links a device to a service it exposes to a network.
is offered by
Links a service to the device that exposes it to a network
Operation
A saref:Operation is the means of a service to communicate in a procedure-type manner over the network (i.e. transmit data to/from other devices). It is the –machine interpretable– exposure of a –human understandable– command to a network.
Typically, a device connected to a given network offers one service for each of its functions of interest, and each service has one operation per command of interest of the function of interest it represents.
To turn on a light, send a CoAP PUT request with CBOR content 0xf5 (true)
In the set of operations exposed by a smart light bulb on a given network, one may be dedicated to turn on and off the light and expect a boolean as input. Another one may be dedicated to set the luminosity status and expect a target luminosity level (a byte) and a transition time (encoded on two bytes).
In the set of operations exposed by a smart washing machine on a given network, one may be dedicated to set the water temperature for the washing cycle, and expected as input a enumerated value. Another one may be dedicated to start, pause, or stop the washing cycle.
has operation
Links a service to one of its operations.
is operation of
Links an operation to the service it belongs to.