@prefix saref: <https://saref.etsi.org/core/> .
PREFIX saref: <https://saref.etsi.org/core/>
The Smart Applications REFerence ontology (SAREF) is intended to enable interoperability between solutions from different providers and among various activity sectors from the Internet of Things (IoT), thus contributing to the development of the global digital market.
SAREF explicitly specifies the recurring core concepts in the Smart Applications domain, the main relationships between these concepts, and axioms to constrain the usage of these concepts and relationships. SAREF is based on the fundamental ontology engineering principles of reuse and alignment of concepts and relationships that are defined in existing assets, modularity to allow separation and recombination of different parts of the ontology depending on specific needs, extensibility to allow further growth of the ontology, maintainability to facilitate the process of identifying and correcting defects, accommodate new requirements, and cope with changes in (parts of) SAREF. In addition, a principle of generic versus specific entity distinction ensures that SAREF can be useful both for editors of online catalogues, taxonomies, and vocabularies, and developers of smart applications.
Mappings to other concepts used by different semantic assets allow translation from the reference ontology to specific assets, reducing the effort of translating from one asset to another, since the reference ontology requires one set of mappings to each asset, instead of a dedicated set of mappings for each pair of assets. Figure 1 shows the role of the reference ontology in the mapping by means of sample assets. The mappings of SAREF to various assets are available in [i.4].
SAREF is designed to model both generic and specific entities.
Figure 3 shows an overview of some of the main classes and properties of SAREF Core.
A detailed explanation of each class is presented in clause 5.2 to clause 5.14.
SAREF provides a standardized way to define generic or prototypical entities in taxonomies, vocabularies, and catalogues, ensuring broad semantic interoperability across domains.
Figure 4 shows an overview of the classes and properties for generic entities.
SAREF also enables the description of real-world specific entities within smart applications, ensuring precise and context-aware implementation.
Figure 5 shows an overview of the classes and properties for specific entities.
ETSI EN 303 760 [1] provides guidelines to apply, extend, and contribute to the evolution of SAREF Core. The SAREF Communication framework as defined in ETSI TS 103 267 [3]. SAREF Core development conforms to ETSI TS 103 673 [4]. SAREF Core reuses and extends SAREF Reference ontology patterns as specified in ETSI TS 103 548 [5].
Figure 6 illustrates the main classes and properties for devices. SAREF extensions and applications may create, specialize, and categorize devices as specified in ETSI TS 103 548 [5].
Class saref:Device represents any tangible object designed to accomplish a particular task by performing one or more functions. An instance of saref:Device represents one specific real world entity.
ex:Meter4837QW123 a saref:Device ;
rdfs:label "Meter 4837QW123"@en ;
rdfs:comment """The meter that measures the incoming water flow of the Computer Science school."""@en .
ex:Dryer354A1E08FA a saref:Device ;
rdfs:label "Dryer 354A1E08FA"@en ;
rdfs:comment "The laundry dryer with serial number 354A1E08FA"@en.
Devices are also systems (s4syst:System, see [5]) and features of interest (saref:FeatureOfInterest).
Class saref:DeviceKind allows to describe kinds of devices, with common properties and common states having the same value, and with common functions and services. Devices kinds may be used to describe models of devices in online catalogues.
A device can be linked to its device kinds using OP saref:hasDeviceKind.
s4abcd:SmartWaterMeterABC123 a saref:DeviceKind ;
rdfs:label "Smart Water Meter ABC123"@en ;
rdfs:comment """The smart water meter ABC123 of manufacturer ABC. A device kind."""@en .
ex:Meter4837QW123 saref:hasDeviceKind s4abcd:SmartWaterMeterABC123 .
A device can target (OP saref:targets) features, properties, or states. SAREF Core defines different sub properties of saref:targets:
s4abcd:AAHeatPumpDryer a saref:DeviceKind ;
saref:controls s4abcd:DryerRotationalSpeed ;
saref:controls s4abcd:DryerTemperature ;
saref:observes s4abcd:LaudryBatchHumidity .
As shown in Figure 6, SAREF Core provides some examples of classes of devices including appliances, sensors, actuators, and meters. Their definitions are the following:
The manufacturer and model of a saref:DeviceKind or a saref:Device can be statedd using DPs saref:hasManufacturer and saref:hasModel, respectively.
ex:Meter4837QW123 a saref:Device ;
saref:hasManufacturer "ABC"@en ;
saref:hasModel "4837QW123"@en .
Figure 7 illustrates the main classes and properties for feature kinds and features of interest. SAREF extensions and applications may create, specialize, and categorize feature kinds and features of interest as specified in ETSI TS 103 548 [5].
Class saref:FeatureOfInterest represents any real world entity from which a property or a state may be acted upon, such as observed and controlled. An instance of saref:FeatureOfInterest represents one specific real world entity.
<etsi_premises/athena> a saref:FeatureOfInterest ;
rdfs:label "ATHENA amphitheatre"@en ;
rdfs:comment "The ATHENA amphitheatre in the ETSI premises."@en .
<etsi_premises/athena/window5> a saref:FeatureOfInterest ;
rdfs:label "ATHENA Window 5"@en ;
rdfs:comment "Window 5 of ATHENA amphitheatre"@en .
Class saref:Device is a subclass of saref:FeatureOfInterest.
Class saref:FeatureKind allows to describe kinds of features of interest, with common properties and common states having the same value. An instance of saref:FeatureKind represents an archetype of real world entities, for example to populate product catalogues.
<1000x2000mmWindowOrientedNorth> a saref:FeatureKind ;
rdfs:label "1000x2000mm window oriented north"@en ;
rdfs:comment "The kind of windows with dimensions 1000x2000mm and oriented north."@en .
Class saref:DeviceKind is a subclass of saref:FeatureKind.
Feature kinds can be organized in a taxonomy using OPs skos:narrower and skos:broader.
<1000x2000mmWindowOrientedNorth> a saref:FeatureKind ;
skos:broader <1000x2000mmWindow> ;
skos:broader <WindowOrientedNorth> .
A feature of interest can be linked to its kind(s) using OP saref:hasFeatureKind. OP saref:hasDeviceKind is a sub-property of OP saref:hasFeatureKind.
<etsi_premises/athena/window5>
saref:hasFeatureKind <1000x2000mmWindowOrientedNorth> .
saref:hasFeatureKind o skos:broader ⊑ saref:hasFeatureKind
<etsi_premises/athena/window5>
saref:hasFeatureKind <1000x2000mmWindow> ;
saref:hasFeatureKind <WindowOrientedNorth> .
A feature kind (respectively a feature of interest) may consist of (OP saref:consistsOf) other feature kinds (respectively feature kinds or features of interest).
s4abcd:AAHeatPumpDryer a saref:FeatureKind ;
saref:consistsOf s4abcd:HeatPump , s4abcd:AirCyclingCircuit , s4abcd:Dryer .
<etsi_premises/athena> a saref:FeatureOfInterest ;
saref:consistsOf <etsi_premises/stage> ;
saref:consistsOf <etsi_premises/athena/window5> .
Whenever appropriate, SAREF extensions and applications should also use the classes from SAREF4SYST [5] to specify if a saref:FeatureKind or a saref:FeatureOfInterest is a system (s4syst:System), a Connection between systems (s4syst:Connection), or a connection point of a system (s4syst:ConnectionPoint).
The model and the manufacturer of a saref:FeatureKind or a saref:FeatureOfInterest can be explicited using DPs saref:hasModel and saref:hasManufacturer, respectively.
<ball-bearing-xsd215sd7f> a saref:FeatureOfInterest , s4syst:System ;
saref:hasManufacturer "Company X"@en ;
saref:hasModel "6000-2RZ1 "@en .
Class saref:Task represents goals for which a device is designed, from a user perspective.
SAREF extensions and applications may create, specialize, and categorize tasks as specified in ETSI TS 103 548 [5], and illustrated on Figure 8.
Tasks can be organized in a taxonomy using OPs skos:narrower and skos:broader.
saref:Drying a saref:Task ;
rdfs:label "Drying"@en ;
rdfs:comment "A type of task for which a device is designed."@en .
Device kinds and devices can be linked to the one or more tasks they are designed to accomplish with OP saref:accomplishes.
s4abcd:AAHeatPumpDryer a saref:FeatureKind ;
saref:accomplishes s4abcd:DryingLaundry .
ex:switch21354 a saref:Device ;
saref:hasDeviceKind s4abcd:Switch ;
saref:accomplishes s4abcd:Lighting .
Class saref:Commodity represents marketable items which may be supplied without qualitative differentiation. Commodities may be consumed, produced, or stored, by some feature of interest or device.
SAREF extensions and applications may create, specialize, and categorize commodities as specified in ETSI TS 103 548 [5], and illustrated on Figure 9.
Commodities can be organized in a taxonomy using OPs skos:narrower and skos:broader.
ex:Electricity a ex:EnergyCommodity ;
rdfs:label "Electricity"@en ;
rdfs:comment "The electricity energy commodity."@en ;
rdfs:isDefinedBy "The IDSA taxonomy of energy commodities" .
A feature kind, feature of interest, or device, can consume (OP saref:consumes), produce (OP saref:produces), or store (OP saref:stores), a certain commodity.
s4abcd:AAHeatPumpDryer a saref:FeatureKind ;
saref:consumes ex:Electricity ;
saref:produces <http://www.wikidata.org/entity/Q7892> .
In SAREF, properties refer to the identifiable qualities of features of interest that can be acted upon by devices, such as observed or controlled. While properties can apply to different features of interest, properties of interest are specific to a feature of interest. Property values describe the value for a property.
Figure 10 illustrates the main classes and properties for describing properties, properties of interest, and property values.
SAREF extensions and applications may create, specialize, and categorize properties as specified in ETSI TS 103 548 [5].
An instance of saref:Property can apply to different features of interest.
s4abcd:Temperature a saref:Property ;
rdfs:label "Temperature"@en ;
rdfs:comment "The temperature property kind."@en .
s4abcd:Pressure a saref:Property ;
rdfs:label "Pressure"@en ;
rdfs:comment "The pressure property kind."@en .
s4abcd:Luminosity a saref:Property ;
rdfs:label "Temperature"@en ;
rdfs:comment "The luminosity property kind."@en .
Properties can be organized in a taxonomy using properties skos:narrower and skos:broader.
<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 .
The OP saref:hasProperty may be used to link a feature kind or feature of interest to its properties. Its inverse is saref:isPropertyOf.
s4abcd:AAHeatPumpDryer a saref:FeatureKind ;
saref:hasProperty s4abcd:DryerRotationalSpeed ;
saref:hasProperty s4abcd:DryerTemperature .
skos:broader o saref:hasProperty ⊑ saref:hasProperty
saref:hasFeatureKind o saref:hasProperty ⊑ saref:hasProperty
An instance of saref:PropertyOfInterest is specific to a feature of interest. It is inherent to and cannot exist without that feature of interest.
The OP saref:hasPropertyOfInterest may be used to link a feature of interest to its properties of interest. Its inverse is saref:isPropertyOfInterestOf and is functional.
A property of interest is the property of (OP saref:isPropertyOfInterestOf) exactly one feature of interest.
Given a property of interest belongs to exactly one feature of interest, it is recommended that its identifier consists of the identifier of the feature of interest, followed by character '#' and a fragment identifier. The fragment identifier part of the IRI of a property of interest should not contain "property".
A property of interest can be linked to its kind(s) using OP saref:hasPropertyKind.
<etsi_premises/athena#luminosity> a saref:PropertyOfInterest ;
saref:hasPropertyKind s4abcd:Luminosity ;
saref:isPropertyOfInterestOf <etsi_premises/athena> ;
rdfs:comment "The luminosity of amphitheatre ATHENA"@en .
saref:hasPropertyKind o skos:broader ⊑ saref:hasPropertyKind
saref:hasPropertyOfInterest o saref:hasPropertyKind ⊑ saref:hasProperty
<etsi_premises/athena> a saref:FeatureOfInterest ;
saref:hasPropertyOfInterest <etsi_premises/athena#luminosity> ;
saref:hasProperty saref:Luminosity .
Class saref:PropertyValue describes the value for a property. The property value is optionally 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).
[] a saref:PropertyValue ;
saref:hasValue 22.7 ;
saref:isMeasuredIn <https://qudt.org/2.1/vocab/unit/DEG_C> .
[] a saref:PropertyValue ;
a <http://www.ontology-of-units-of-measure.org/resource/om-2/Temperature> ;
saref:hasValue 22.7 ;
saref:isMeasuredIn <http://www.ontology-of-units-of- measure.org/resource/om-2/degreeCelsius> .
The range of saref:isMeasuredIn is defined as saref:UnitOfMeasure.
The OP saref:hasPropertyValue links a feature kind, a feature of interest, or a property of interest, to a property value.
<etsi_premises/athena#size> a saref:PropertyOfInterest ;
saref:isPropertyOf <etsi_premises/athena> ;
saref:hasPropertyValue [
a saref:PropertyValue ;
saref:hasValue 105.0 ;
saref:isMeasuredIn <https://qudt.org/2.1/vocab/unit/M2> ] .
skos:broader saref:hasPropertyValue ⊑ saref:hasPropertyValue
The OP saref:isValueOfProperty links a property value to the properties and properties of interest it is a value of.
<1000x2000mmWindowOrientedNorth> a saref:FeatureKind ;
saref:hasProperty <WindowArea> ;
saref:hasPropertyValue [
a saref:PropertyValue ;
saref:hasValue 2.0 ;
saref:isMeasuredIn <https://qudt.org/2.1/vocab/unit/M2> ;
saref:isValueOfProperty <WindowArea> ] .
saref:isValueOfProperty o saref:hasPropertyKind ⊑ saref:isValueOfProperty
In SAREF, states refer to the identifiable conditions that features of interest are or may be in, and that can be acted upon by devices, such as observed and controlled. While states can apply to different features of interest, states of interest are specific to a feature of interest. State values describe the value for a state.
Figure 11 illustrates the main classes and properties for describing states, states of interest, and state values.
SAREF extensions and applications may create, specialize, and categorize states as specified in ETSI TS 103 548 [5].
An instance of saref:State can apply to different features of interest.
ex:OnOffState a saref:State .
ex:Switch a saref:FeatureKind ;
saref:hasState ex:OnOffState .
States can be organized in a taxonomy using properties skos:narrower and skos:broader.
The OP saref:hasState may be used to link a feature kind to its states. Its inverse is saref:isStateOf.
s4abcd:TwoButtonsOneWaySwitch a saref:FeatureKind ;
saref:hasState s4abcd:Button1UpDownState , s4abcd:Button2UpDownState .
s4abcd:Button1UpDownState a saref:State ;
skos:broader s4abcd:ButtonUpDownState .
s4abcd:Button2UpDownState a saref:State ;
skos:broader s4abcd:ButtonUpDownState .
skos:broader o saref:hasState ⊑ saref:hasState
saref:hasFeatureKind o saref:hasState ⊑ saref:hasState
An instance of saref:StateOfInterest is specific to a feature of interest. It is inherent to and cannot exist without that feature of interest.
The OP saref:hasStateOfInterest may be used to link a feature of interest to its states of interest. Its inverse is saref:isStateOfInterestOf and is functional.
A state of interest is the state of (OP saref:isStateOfInterestOf) exactly one feature of interest.
Given a state of interest belongs to exactly one feature of interest, it is recommended that its identifier consists of the identifier of the feature of interest, followed by character '#' and a fragment identifier. The fragment identifier part of the IRI of a state of interest should not contain "state".
<switch_sdf5ze4fz3> a saref:Device ;
saref:hasDeviceKind s4abcd:TwoButtonsOneWaySwitch ;
saref:hasStateOfInterest <switch_sdf5ze4fz3#btn1> ;
saref:hasStateOfInterest <switch_sdf5ze4fz3#btn2> .
<switch_sdf5ze4fz3#btn1> a saref:StateOfInterest ;
saref:hasStateKind s4abcd:Button1UpDownState .
<switch_sdf5ze4fz3#btn2> a saref:StateOfInterest ;
saref:hasStateKind s4abcd:Button2UpDownState .
A state of interest can be linked to its kind(s) using OP saref:hasStateKind.
saref:hasStateKind o skos:broader ⊑ saref:hasStateKind
saref:hasStateOfInterest o saref:hasStateKind ⊑ saref:hasState
As the narrowest states of the taxonomy of states can be thought of as the state values, it is possible to assign a stable value to a state as follows:
Class saref:StateValue describes the value for a state. The state value is optionally linked the states or states of interest it is a value of (OP saref:isValueOfState).
The OP saref:hasStateValue links a feature kind, a feature of interest, or a state of interest, to a state value.
<switch_sdf5ze4fz3#btn1> a saref:StateOfInterest ;
saref:isStateOf <switch_sdf5ze4fz3> ;
saref:hasStateValue saref:OnState .
skos:broader saref:hasStateValue ⊑ saref:hasStateValue
The OP saref:isValueOfState links a state value to the states and states of interest it is a value of.
saref:isValueOfState o saref:hasStateKind ⊑ saref:isValueOfState
In SAREF, functions are logical groups of commands that devices support to accomplish their tasks. Function can target (OP saref:targets and its sub-properties) features, properties, or states. While functions are independent of any devices, functions of interest are functions actually supported by a device.
Figure 12 illustrates the main classes and properties for describing functions and functions of interest.
SAREF extensions and applications may create, specialize, and categorize functions as specified in ETSI TS 103 548 [5].
An instance of saref:Function can apply to different devices.
Functions can be organized in a taxonomy using properties skos:narrower and skos:broader.
Kinds of devices can be defined from pre-defined building blocks, based on the functions they have.
s4abcd:AAHeatPumpDryer a saref:DeviceKind ;
saref:hasFunction s4acd:WashingFunction .
The OP saref:hasFunction may be used to link a device kind or device to its functions. Its inverse is saref:isFunctionOf.
skos:broader o saref:hasFunction ⊑ saref:hasFunction
saref:hasDeviceKind o saref:hasFunction ⊑ saref:hasFunction
An instance of saref:FunctionOfInterest is supported by exactly one device.
The OP saref:hasFunctionOfInterest may be used to link a device to its functions of interest. Its inverse is saref:isFunctionOfInterestOf and is functional.
A function of interest is the function of (OP saref:isFunctionOfInterestOf) exactly one device.
A function of interest can be linked to its kind(s) using OP saref:hasFunctionKind.
saref:hasFunctionKind o skos:broader ⊑ saref:hasFunctionKind
saref:hasFunctionOfInterest o saref:hasFunctionKind ⊑ saref:hasFunction
In SAREF, commands represent the lowest-level directives a device supports and exposes to some network. Commands can target (OP saref:targets and its sub-properties) features, properties, or states. While commands are independent of any function, commands of interest are commands actually supported by a function of interest.
Figure 13 illustrates the main classes and properties for describing commands and device commands.
SAREF extensions and applications may create, specialize, and categorize commands as specified in ETSI TS 103 548 [5].
An instance of saref:Command is independent of any device.
Commands can be organized in a taxonomy using OPs skos:narrower and skos:broader.
Functions can be defined from pre-defined building blocks, based on the commands they have.
The OP saref:hasCommand may be used to link a function or function of interest to its commands. Its inverse is saref:isCommandOf. SAREF Core defines two sub-properties of saref:hasCommand, that only apply to functions:
skos:broader o saref:hasMandatoryCommand ⊑ saref:hasMandatoryCommand
saref:hasFunctionKind o saref:hasMandatoryCommand ⊑ saref:hasCommand
A command may be described in terms of its input parameters using OP saref:hasInput. Typically, input parameters are feature kinds, properties, or states.
A command may be described in terms of its outputs using OP saref:hasOutput. Typically, outputs are properties or states.
A command may be described in terms of the properties or states it targets, such as observe, or control.
A saref:CommandOfInterest is a directive 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 target.
The OP saref:hasCommandOfInterest may be used to link a function of interest to its command of interest. Its inverse is saref:isCommandOfInterestOf and is functional.
A command of interest is the command of (OP saref:isCommandOfInterestOf) exactly one function.
A command of interest can be linked to its kind(s) using OP saref:hasCommandKind.
saref:hasCommandKind o skos:broader ⊑ saref:hasCommandKind
saref:hasCommandOfInterest o saref:hasCommandKind ⊑ saref:hasCommand
Figure 14 illustrates the main classes and properties for describing services and operations.
A saref:Service is a digital representation of a function in a network, making it discoverable, registerable and remotely controllable in the network.
OP saref:represents links a service to some function or function of interest it exposes to the network.
A service represents at least one function of interest.
OP saref:offers links a device to a service it exposes to a network. Its inverse if saref:isOfferedBy.
A service is offered by exactly one device.
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.
An operation may be described in terms of its inputs and outputs using OP saref:hasInput and saref:hasOutput. Inputs and outputs of operations typically describe the expected schema or shape of network messages.
OP saref:represents also links an operation to some command or command of interest it exposes to the network.
An operation represents at least one command of interest.
OP saref:hasOperation links a service to its operations. Its inverse is saref:isOperationOf.
An operation belongs to exactly one service.
A saref:ProcedureExecution represents the act of carrying out a procedure.
Figure 15 illustrates the main properties for describing procedure executions.
OP saref:madeBy links a procedure execution to the device that made it.
OP saref:madeBy can link a procedure execution to any entity, not necessarily a tangible device.
A procedure execution may be linked to its inputs using OP saref:hasInput.
A procedure execution may be linked to its result using OP saref:hasResult.
DP saref:hasStartTime links a procedure execution to the instant of time when it was initiated or tasked, expressed as an xsd:dateTime literal.
DP saref:hasResultTime links a procedure execution to the instant of time when the procedure is completed, expressed as an xsd:dateTime literal.
OP saref:hasPhenomenonTime links a procedure execution to the time that the result applies. It may be an interval or an instant, or some other compound temporal entity expressed using OWL Time [8].
When the execution time and the phenomenon time are the same time instants, then DP saref:hasTimestamp can be used to simply link a procedure execution to the time of these instants, expressed as an xsd:dateTime literal.
Optionally, a procedure execution can target (OP saref:targets) a feature, property, or state.
Figure 16 illustrates the main classes and properties for describing command executions and operation executions.
A saref:CommandExecution describes the execution of a command. Typically, its inputs and outputs are human understandable and relate to some feature of interest, such as its state (e.g. s4abcd:On), or the value of its temperature (e.g. property value 21,0 °C).
A saref:OperationExecution describes the execution of an operation in a network: the - machine interpretable - description of a communication between devices over the network. Typically, its input and result are network messages, that conform to the input and output of the executed operation.
OP saref:isExecutionOf links a command execution to the command or command of interest that was executed. It also liks an operation execution to the operation that was executed.
saref:isExecutionOf o skos:broader ⊑ saref:isExecutionOf
saref:isExecutionOf o saref:hasCommandKind ⊑ saref:isExecutionOf
Figure 17 illustrates the main classes and properties for describing observations and actuations.
A saref:Observation is the act of carrying out a procedure to estimate or calculate a value of a property of a feature of interest, or a state of a feature of interest. It links to a sensor to describe what made the observation, and to the observed feature, property, property of interest, state, or state of interest. Typically, its result is a property value or a state value. An observation of a state (OP saref:observes) should have a state value as a result (OP saref:hasResult). Respectively, an observation of a property should have a property value as a result.
ex:DTSObservation106 a saref:Observation ;
saref:madeBy <meter> ;
saref:hasTimestamp "2023-12-06T21:01:10"^^xsd:dateTime ;
saref:observes s4watr:Cadmium ;
saref:hasResult ex:Meter4837QW123Value184 .
ex:Meter4837QW123Value184 a saref:PropertyValue ;
saref:isValueOfProperty s4watr:Cadmium ;
saref:hasValue 0.005 .
[] a saref:Observation ;
saref:madeBy <sensor> ;
saref:hasTimestamp "2023-12-06T21:47:10"^^xsd:dateTime .
saref:observes <door_zef53ze7> ;
saref:observes <door_zef53ze7#openclose> ;
saref:observes saref:OpenClose ;
saref:hasResult saref:Open .
A saref:Actuation is the act of carrying out a procedure to control the state of the world using an actuator. It links to an actuator to describe what made the actuation, and to the controlled feature, property, property of interest, state, or state of interest. Typically, its input is a property or state value. An actuation of a state (OP saref:controls) should have a state value as input (OP saref:hasInput). Respectively, an actuation of a property should have a property value as input.
A device in SAREF can be further characterized by profiles. Figure 18 illustrates the main classes and properties for describing profiles.
A saref:Profile describes the money earned (negative values) or paied (positive values) for the use (production or consumption) of a commodity by a device in a certain context.
OP saref:hasProfile links a device to its profile. Its inverse is saref:isProfileOf. The device should be linked to a certain commodity using OP saref:consumes, saref:produces, or saref:stores, and optionally to some property or state using OP saref:targets or its sub-properties.
ex:Device_1 a saref:Device ;
saref:consumes s4abcd:Electricity ;
saref:hasProfile ex:FlexibilityProfile ;
saref:controls <house#temperature> .
ex:FlexibilityProfile a saref:Profile ;
saref:hasPrice <pricePropertyValue> .
The applicable context of a profile can be bound temporally using DP saref:hasTimestamp or its subproperties defined by SAREF extensions, or OP saref:hasApplicableTime which links to instant or interval or other compound temporal entity expressed using OWL Time [8].
ex:FlexibilityProfile saref:hasTimestamp "2023-12-15T11:00:00"^^xsd:dateTime .
ex:FlexibilityProfile
rdfs:comment "applies only on Saturdays"@en ;
saref:hasApplicableTime [
a time:DateTimeDescription ;
time:dayOfWeek time:Saturday ] .
The applicable context can be restricted to when the property of a feature of interest has some value (OPs saref:whenPropertyValue).
ex:FlexibilityProfile saref:whenPropertyValue [
a saref:PropertyValue ;
saref:hasValue 22.0 ;
saref:isMeasuredIn <http://qudt.org/vocab/unit/DEG_C> ;
saref:isValueOfProperty <house#comfort_temperature_setpoint> ] .
The applicable context can be restricted to when a feature of interest has a certain state value (OPs saref:whenState).
ex:FlexibilityProfile
saref:whenState [
a saref:StateValue ;
skos:broader s4abcd:ComfortSetpoint ;
saref:isStateOf <house#temperature_setpoint> ] .
OP saref:profileHasPrice links a profile to the money earned (negative values) or paid (positive values) for the use (production or consumption) of the commodity by the device.
ex:FlexibilityProfile saref:profileHasPrice [
a saref:PropertyValue ;
saref:hasValue 0.2 ;
saref:isMeasuredIn <http://qudt.org/vocab/currency/EUR> ] .
A set of specializations of a Profile is given via the Flexibility Profile defined in the SAREF4ENER extension in ETSI TS 103 410-1 [i.9]. Each Flexibility Profile describes the ways in which a device can regulate its energy consumption and production. Therefore, the Flexibility Profile is a static set of options to choose from and a set of user preferences, instead of a pre-calculated energy usage time series. The details of each Flexibility Profile can be specified using the related extensions.
A specialization of a Profile may additionally relate to other SAREF classes via properties defined in the extensions, including, but not limited to a state, property, property value, function, and command.
ex:FlexibilityProfile a saref:Profile ;
s4abcd:{someConditionDefinedBySAREF4ABCD} <conditionSpecification> .
An instance may be classified as both saref:FeatureOfInterest and geo:SpatialObject.
The class saref:Device is a sub-class of geo:Feature from the GeoSPARQL standard [9], section 6.2.
SAREF application may attach a geometry to a saref:FeatureOfInterest or a saref:Device using geo:hasGeometry or its sub-properties geo:hasBoundingBox, geo:hasCentroid, geo:hasDefaultGeometry [9], section 6.4.
<etsi_premises> a saref:FeatureOfInterest , geo:Feature ;
geo:hasCentroid "POINT( 7.052986 43.6169446 )"^^geo:wktLiteral .
SAREF application may describe how things are spatially related using different families of topological relations from GeoSPARQL, such as the Simple Features relation family (e.g. geo:sfWithin, geo:sfOverlaps), the Egenhoer Relation Family (e.g. geo:ehInside, geo:ehOverlap), the RCC8 Relation Family (e.g. geo:rcc8tpp, geo:rcc8po) [9], section 7.
<etsi_premises/athena> a saref:FeatureOfInterest , geo:Feature ;
geo:sfWithin <etsi_premises> .
The OP saref:consistsOf can link a composite property, property of interest, or property value to its individual components.
saref:hasProperty o saref:consistsOf ⊑ saref:hasProperty
Composite Properties can consist of feature kinds, properties, and states. Figure 19 illustrates the local restrictions of saref:consistsOf on the class saref:Property.
s4abcd:2DPosition_xCoordinate a saref:Property .
s4abcd:2DPosition_yCoordinate a saref:Property .
s4abcd:2DPosition a saref:Property ;
saref:consistsOf s4abcd:2DPosition_xCoordinate ;
saref:consistsOf s4abcd:2DPosition_yCoordinate .
ex:Person a saref:FeatureKind .
s4abcd:OccupiedOrNotOccupied a saref:State .
s4abcd:Temperature a saref:Property .
s4abcd:CompositePresence a saref:Property ;
saref:consistsOf ex:Person ;
saref:consistsOf s4abcd:OccupiedOrNotOccupied ;
saref:consistsOf s4abcd:Temperature .
In addition, properties of interest can be composed of features of interest, properties of interest and states of interest. Figure 20 illustrates the local restrictions of saref:consistsOf on the class saref:PropertyOfInterest.
saref:consistsOf o saref:hasPropertyKind ⊑ saref:consistsOf
saref:consistsOf o saref:hasStateKind ⊑ saref:consistsOf
In addition, property values can be composed of property values, and state values. Figure 21 illustrates the local restrictions of saref:consistsOf on the class saref:PropertyValue.
<position_sensor> a s4abcd:PositionSensor ;
saref:madeExecution <observation> .
<observation> a saref:Observation ;
saref:observes s4abcd:2DPosition, <room> ;
saref:hasResult <value> .
<value> a saref:PropertyValue ;
saref:consistsOf <value_x> , <value_y> .
<value_x> a saref:PropertyValue ;
saref:isValueOfProperty s4abcd:2DPosition_xCoordinate ;
saref:hasValue 2 .
<value_y> a saref:PropertyValue ;
saref:isValueOfProperty s4abcd:2DPosition_yCoordinate ;
saref:hasValue 3 .
<smart_camera> a s4abcd:SmartPresenceSensor ;
saref:madeExecution <observation> .
<observation> a saref:Observation ;
saref:observes s4abcd:CompositePresence, <room> ;
saref:hasResult <composite_presence_value> .
<composite_presence_value> a saref:PropertyValue ;
saref:consistsOf <person1>, <person2> ;
saref:consistsOf s4abcd:Occupied ;
saref:consistsOf <temperature_value> .
s4abcd:Occupied a saref:StateValue ;
saref:isValueOfState s4abcd:OccupiedOrNotOccupied .
<temperature_value> a saref:PropertyValue ;
saref:hasValue 22.7 ;
saref:isMeasuredIn <https://qudt.org/2.1/vocab/unit/DEG_C> .
saref:consistsOf o saref:isValueOfProperty ⊑ saref:consistsOf
saref:consistsOf o saref:isValueOfState ⊑ saref:consistsOf
saref:consistsOf o saref:hasFeatureKind ⊑ saref:consistsOf
IRI: https://saref.etsi.org/core/Actuation
IRI: https://saref.etsi.org/core/Actuator
A device designed to control one or more properties or states of one or more features of interest.
IRI: https://saref.etsi.org/core/Appliance
A device designed to accomplish a particular task for occupant use. It consumes, produces, or stores, some commodity.
IRI: https://saref.etsi.org/core/Command
The lowest-level directives a function exposes to some network. Commands can target (OP saref:targets and its sub-properties) features, properties, or states. An instance of saref:Command is independent of any device.
IRI: https://saref.etsi.org/core/CommandExecution
Describes the execution of a command. Typically, its inputs and outputs are human understandable and relate to some feature of interest, such as its state (e.g., s4abcd:On), or the value of its temperature (e.g., property value 21.0 °C).
IRI: https://saref.etsi.org/core/CommandOfInterest
The lowest-level directives a device supports and exposes to some network. Commands can target (OP saref:targets and its sub-properties) features, properties, or states. A saref:CommandOfInterest is a directives actually supported by a device and exposed to some network.
IRI: https://saref.etsi.org/core/Commodity
A marketable item which may be supplied without qualitative differentiation.
IRI: https://saref.etsi.org/core/Device
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.
IRI: https://saref.etsi.org/core/DeviceKind
Device kinds allow to describe kinds of devices, with common properties and common states having the same value, targeting the same properties and states, common functions, and common services. Devices kinds may be used to describe models of devices in online catalogues.
IRI: https://saref.etsi.org/core/FeatureKind
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.
IRI: https://saref.etsi.org/core/FeatureOfInterest
A feature of interest represents any real world entity from which a property or a state may be targeted, such as observed and controlled. An instance of saref:FeatureOfInterest represents one specific real world entity.
IRI: https://saref.etsi.org/core/Function
Logical groups of commands that devices support to accomplish their tasks. Function can target (OP saref:targets and its sub-properties) features, properties, or states. An instance of saref:Function can apply to different devices.
IRI: https://saref.etsi.org/core/FunctionOfInterest
Logical groups of commands that devices support to accomplish their tasks. Function can target (OP saref:targets and its sub-properties) features, properties, or states. An instance of saref:FunctionOfInterest is supported by exactly one device.
IRI: https://saref.etsi.org/core/Meter
A device designed to observe and additionally do some computation and/or display one or more properties of one or more features of interest.
IRI: https://saref.etsi.org/core/Observation
A saref:Observation is the act of carrying out a procedure to estimate or calculate a value of a property of a feature of interest, or a state of a feature of interest. It links to a sensor to describe what made the observation, and to the observed feature, property, property of interest, state, or state of interest. Typically, its result is a property value or a state. An observation of a state (OP saref:observes) should have a state as a result (OP saref:hasResult). Respectively, an observation of a property should have a property value as a result.
IRI: https://saref.etsi.org/core/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.
IRI: https://saref.etsi.org/core/OperationExecution
Describes the execution of an operation in a network: the–machine interpretable– description of a communication between devices over the network. Typically, its input and result are network messages, that conform to the input and output of the executed operation.
IRI: https://saref.etsi.org/core/ProcedureExecution
Represents the act of carrying out a procedure.
IRI: https://saref.etsi.org/core/Profile
A saref:Profile describes the money earned (negative values) or paied (positive values) for the use (production or consumption) of a commodity by a device in a certain context.
IRI: https://saref.etsi.org/core/Property
Identifiable qualities of features of interest that can be target of devices, such as observed or controlled. A property can apply to different features of interest.
IRI: https://saref.etsi.org/core/PropertyOfInterest
Identifiable qualities of features of interest that can be target of devices, such as observed 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.
IRI: https://saref.etsi.org/core/PropertyValue
Describes the value for a property. The property value is optionally 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).
IRI: https://saref.etsi.org/core/Sensor
A device designed to observe and measure one or more properties or states of one or more features of interest.
IRI: https://saref.etsi.org/core/Service
A saref:Service is a digital representation of a function in a network, making it discoverable, registerable and remotely controllable in the network.
IRI: https://saref.etsi.org/core/State
Identifiable conditions that features of interest are or may be in, and that can be target of devices, such as observed and controlled. A state can apply to different features of interest.
IRI: https://saref.etsi.org/core/StateOfInterest
Identifiable conditions that features of interest are or may be in, and that can be target of 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.
IRI: https://saref.etsi.org/core/StateValue
Describes the value for a state. The state value is optionally linked the states or states of interest it is a value of (OP saref:isValueOfState).
IRI: https://saref.etsi.org/core/Task
The goal for which a device is designed, from a user perspective.
IRI: https://saref.etsi.org/core/UnitOfMeasure
The unit of measure is a standard for measurement of a quantity, such as a Property.
IRI: https://saref.etsi.org/core/accomplishes
Links a certain entity (e.g., a device) to the task it accomplishes.
IRI: https://saref.etsi.org/core/consistsOf
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)
IRI: https://saref.etsi.org/core/consumes
Links a feature kind, feature of interest, or device, to the commodity it consumes
IRI: https://saref.etsi.org/core/controls
Links a device, function, command, or procedure execution, to the feature, property, or state, it controls.
IRI: https://saref.etsi.org/core/hasApplicableTime
Links an entity (e.g., a profile) to an instant or interval or other compound temporal entity expressed using OWL Time, which bounds temporally the applicable context of that entity.
IRI: https://saref.etsi.org/core/hasCommand
Links a function or function of interest and the command it supports.
IRI: https://saref.etsi.org/core/hasCommandKind
links a command of interest to its kind, a command.
IRI: https://saref.etsi.org/core/hasCommandOfInterest
Links a function of interest to one of its commands of interest.
IRI: https://saref.etsi.org/core/hasDeviceKind
Links a device to its kind, a device kind. Kinds of devices describe models of devices, with common properties and common states having the same value, targeting the same properties and states, common functions, and common services.
IRI: https://saref.etsi.org/core/hasFeatureKind
links a feature of interest to its kind, a feature kind
IRI: https://saref.etsi.org/core/hasFunction
Links a feature kind or a device to one of its functions.
IRI: https://saref.etsi.org/core/hasFunctionKind
links a function of interest to its kind, a function
IRI: https://saref.etsi.org/core/hasFunctionOfInterest
Links a device to one of its functions of interest.
IRI: https://saref.etsi.org/core/hasInput
Links a command, operation, or procedure execution, to its inputs.
IRI: https://saref.etsi.org/core/hasMandatoryCommand
Links a function and one of its mandatory commands
IRI: https://saref.etsi.org/core/hasOperation
Links a service to one of its operations.
IRI: https://saref.etsi.org/core/hasOptionalCommand
Links a function and one of its optional commands
IRI: https://saref.etsi.org/core/hasOutput
Links a command or operation to its outputs.
IRI: https://saref.etsi.org/core/hasPhenomenonTime
Links a procedure execution to the time that the result applies. It may be an interval or an instant, or some other compound temporal entity expressed using OWL Time.
IRI: https://saref.etsi.org/core/hasProfile
Links a device to its profile. Its inverse is saref:isProfileOf. The device should be linked to a certain commodity using OP saref:consumes, saref:produces, or saref:stores, and optionally to some property or state using OP saref:targets or its sub-properties.
IRI: https://saref.etsi.org/core/hasProperty
Links a feature kind or a feature of interest to one of its properties.
IRI: https://saref.etsi.org/core/hasPropertyKind
links a property of interest to its kind, a property.
IRI: https://saref.etsi.org/core/hasPropertyOfInterest
Links a feature of interest to one of its properties of interest.
IRI: https://saref.etsi.org/core/hasPropertyValue
Links a feature kind, a feature of interest, or a property of interest, to a property value.
IRI: https://saref.etsi.org/core/hasResult
Links a procedure execution (e.g., an observation) to its result (e.g., a property value).
IRI: https://saref.etsi.org/core/hasState
Links a feature kind or a feature of interest to one of its states.
IRI: https://saref.etsi.org/core/hasStateKind
links a state of interest to its kind, a state
IRI: https://saref.etsi.org/core/hasStateOfInterest
Links a feature of interest to one of its states of interest.
IRI: https://saref.etsi.org/core/hasStateValue
Links a feature kind, a feature of interest, or a state of interest, to a state value.
IRI: https://saref.etsi.org/core/isAccomplishedBy
A relationship identifying an entity (e.g., a device) that can accomplish a task.
IRI: https://saref.etsi.org/core/isCommandOf
Links a command and a function or function of interest that supports it.
IRI: https://saref.etsi.org/core/isCommandOfInterestOf
Links a command of interest to the function of interest it is a command of.
has characteristics: functional
IRI: https://saref.etsi.org/core/isConsumedBy
Links a commodity to the feature kind, feature of interest, or device, that consumes it
IRI: https://saref.etsi.org/core/isControlledBy
Links a feature, property, or state, to the device, function, command, or procedure execution, that controls it.
IRI: https://saref.etsi.org/core/isExecutionOf
Links a command execution to the command or command of interest that was executed. Also liks an operation execution to the operation that was executed
IRI: https://saref.etsi.org/core/isFunctionOf
Links a function to the feature kind or device it is a function of.
IRI: https://saref.etsi.org/core/isFunctionOfInterestOf
Links a function of interest to the device it is a function of.
has characteristics: functional
IRI: https://saref.etsi.org/core/isMeasuredIn
A relationship identifying the unit of measure used for a certain entity.
IRI: https://saref.etsi.org/core/isObservedBy
Links a feature, property, or state, to the device, function, command, or procedure execution, that observes it.
IRI: https://saref.etsi.org/core/isOfferedBy
Links a service to the device that exposes it to a network
has characteristics: functional
IRI: https://saref.etsi.org/core/isOperationOf
Links an operation to the service it belongs to.
has characteristics: functional
IRI: https://saref.etsi.org/core/isProducedBy
Links a commodity to the feature kind, feature of interest, or device, that produces it
IRI: https://saref.etsi.org/core/isProfileOf
Links a profile to the device it describes. The device should be linked to a certain commodity using OP saref:consumes, saref:produces, or saref:stores, and optionally to some property or state using OP saref:targets or its sub-properties.
IRI: https://saref.etsi.org/core/isPropertyOf
Links a property to the feature kind or feature of interest it is a property of.
IRI: https://saref.etsi.org/core/isPropertyOfInterestOf
Links a property of interest to the feature of interest it is a property of.
has characteristics: functional
IRI: https://saref.etsi.org/core/isStateOf
Links a state to the feature kind or feature of interest it is a state of.
IRI: https://saref.etsi.org/core/isStateOfInterestOf
Links a state of interest to the feature of interest it is a state of.
has characteristics: functional
IRI: https://saref.etsi.org/core/isStoredBy
Links a commodity to the feature kind, feature of interest, or device, that stores it
IRI: https://saref.etsi.org/core/isTargetOf
Links a feature, property, or state, to the device, function, command, or procedure execution, that targets it.
IRI: https://saref.etsi.org/core/isValueOfProperty
Links a property value to the property or property of interest it is a value of.
IRI: https://saref.etsi.org/core/isValueOfState
Links a state value to the state or state of interest it is a value of.
IRI: https://saref.etsi.org/core/madeBy
Links a procedure execution to the entity (e.g., device) that made it.
IRI: https://saref.etsi.org/core/madeExecution
Links an entity (e.g., device) to the procedure execution it made.
IRI: https://saref.etsi.org/core/observes
Links a device, function, command, or procedure execution, to the feature, property, or state, it observes.
IRI: https://saref.etsi.org/core/offers
Links a device to a service it exposes to a network.
IRI: https://saref.etsi.org/core/produces
Links a feature kind, feature of interest, or device, to the commodity it produces
IRI: https://saref.etsi.org/core/profileHasPrice
Links a profile to the money earned (negative values) or paid (positive values) for the use (production or consumption) of the commodity by the device
IRI: https://saref.etsi.org/core/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.
IRI: https://saref.etsi.org/core/stores
Links a feature kind, feature of interest, or device, to the commodity it stores
IRI: https://saref.etsi.org/core/targets
Links a device, function, command, or procedure execution, to the feature, property, or state, it targets.
IRI: https://saref.etsi.org/core/whenPropertyValue
Links a profile to a property value that contributes to restricting its applicable context.
IRI: https://saref.etsi.org/core/whenState
Links a profile to a state that contributes to restricting its applicable context.
IRI: https://saref.etsi.org/core/hasIdentifier
Links some entity to its identifier. Extensions of SAREF may define sub-properties such as s4abcd:hasUUID, s4abcd:hasGTIN12, etc.
IRI: https://saref.etsi.org/core/hasManufacturer
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.
IRI: https://saref.etsi.org/core/hasModel
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.
IRI: https://saref.etsi.org/core/hasResultTime
Links a procedure execution to the instant of time when the activity was completed, expressed as an xsd:dateTime literal.
IRI: https://saref.etsi.org/core/hasRevisionNumber
Links some entity (e.g., a device) to its revision number.
IRI: https://saref.etsi.org/core/hasTimestamp
Links a procedure execution or a profile to an instant.
IRI: https://saref.etsi.org/core/hasValue
Value of a property value expressed as an RDF literal. Note that, even if decimal values are expected, values could use other datatypes.
IRI: https://saref.etsi.org/core/hasVersion
Links some entity (e.g., a device) to its version.
The editors would like to thank the ETSI SmartM2M technical committee for providing guidance and expertise.
Also, many thanks to the ETSI staff and all other current and former active Participants of the ETSI SmartM2M group for their support, technical input and suggestions that led to improvements to this ontology.
Also, special thanks goes to the ETSI SmartM2M Technical Officer Guillemin Patrick.
This documentation page was generated automatically using SPARQL-Generate, developed by Maxime Lefrançois. The SAREF public portal, the SAREF sources with continuous integration and deployment, the SAREF Pipeline software, and ETSI Technical Specification TS 103 673 v1.1.1 "SAREF Development Framework and Workflow, Streamlining the Development of SAREF and its Extensions", have been developed in the context of the ETSI STF 578, which followed the ETSI STF 556.
A saref:Actuation is the act of carrying out a procedure to control the state of the world using an actuator. It links to an actuator to describe what made the actuation, and to the controlled feature, property, property of interest, state, or state of interest. Typically, its input is a property value or a state. An actuation of a state (OP saref:controls) should have a state as input (OP saref:hasInput). Respectively, an actuation of a property should have a property value as input.