Unverified Commit 22a01e31 authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

actsupon -> targets

parent 3f7fde77
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -200,12 +200,12 @@ ex:Meter4837QW123 saref:hasDeviceKind s4abcd:SmartWaterMeterABC123 .
```
</div>

A device can act upon (OP [saref:actsUpon](#saref:actsUpon)) features, properties, or states. SAREF Core defines different sub properties of [saref:actsUpon](#saref:actsUpon):
A device can target (OP [saref:targets](#saref:targets)) features, properties, or states. SAREF Core defines different sub properties of [saref:targets](#saref:targets):

- [saref:observes](#saref:observes) for when a device observes a feature of interest, or property or state of that feature.
- [saref:controls](#saref:controls) for when a device controls a feature of interest, or property or state of that feature.

<div class="alert-warning">NOTE 2: Property <a href="#saref:actsUpon">saref:actsUpon</a> also applies to functions, commands, and procedure executions.
<div class="alert-warning">NOTE 2: Property <a href="#saref:targets">saref:targets</a> also applies to functions, commands, and procedure executions.
</div>

<div class="alert-info">EXAMPLE 5:
@@ -801,9 +801,9 @@ saref:isValueOfState o saref:hasStateKind ⊑ saref:isValueOfState

#### <a id="5.8.1"></a>Introduction

In SAREF, functions are logical groups of commands that devices support to accomplish their tasks. Function can act upon (OP [saref:actsUpon](#saref:actsUpon) 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.
In SAREF, functions are logical groups of commands that devices support to accomplish their tasks. Function can target (OP [saref:targets](#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.

<div class="alert-info">NOTE: SAREF V3.2.1 introduced the class <a href="#saref:FunctionOfInterest">saref:FunctionOfInterest</a> for specifying which command is actually exposed, and which actual property of interest or state of interest it acts upon. Considering <a href="#saref:Function">saref:Function</a> was mostly instantiated in online taxonomies and vocabularies, it was decided to keep this identifier for the generic class (instead of introducing some class like "FunctionKind"), and introduce <a href="#saref:FunctionOfInterest">saref:FunctionOfInterest</a>.</div>
<div class="alert-info">NOTE: SAREF V3.2.1 introduced the class <a href="#saref:FunctionOfInterest">saref:FunctionOfInterest</a> for specifying which command is actually exposed, and which actual property of interest or state of interest it targets. Considering <a href="#saref:Function">saref:Function</a> was mostly instantiated in online taxonomies and vocabularies, it was decided to keep this identifier for the generic class (instead of introducing some class like "FunctionKind"), and introduce <a href="#saref:FunctionOfInterest">saref:FunctionOfInterest</a>.</div>

[Figure 12](#Figure_12) illustrates the main classes and properties for describing functions and functions of interest.

@@ -869,7 +869,7 @@ The OP [saref:hasFunctionOfInterest](#saref:hasFunctionOfInterest) may be used t

A function of interest is the function of (OP [saref:isFunctionOfInterestOf](#saref:isFunctionOfInterestOf)) exactly one device.

<div class="alert-warning">NOTE 1: 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.</div>
<div class="alert-warning">NOTE 1: 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 targets.</div>

A function of interest can be linked to its kind(s) using OP [saref:hasFunctionKind](#saref:hasFunctionKind).

@@ -891,9 +891,9 @@ saref:hasFunctionOfInterest o saref:hasFunctionKind ⊑ saref:hasFunction

#### <a id="5.9.1"></a>Introduction

In SAREF, commands represent the lowest-level directives a device supports and exposes to some network. Commands can act upon (OP [saref:actsUpon](#saref:actsUpon) 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.
In SAREF, commands represent the lowest-level directives a device supports and exposes to some network. Commands can target (OP [saref:targets](#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.

<div class="alert-info">NOTE: SAREF V3.2.1 introduced the class <a href="#saref:CommandOfInterest">saref:CommandOfInterest</a> for specifying which actual property of interest or state of interest it acts upon. Considering <a href="#saref:Command">saref:Command</a> was mostly instantiated in online taxonomies and vocabularies, it was decided to keep this identifier for the generic class (instead of introducing some class like "CommandKind"), and introduce <a href="#saref:CommandOfInterest">saref:CommandOfInterest</a>.</div>
<div class="alert-info">NOTE: SAREF V3.2.1 introduced the class <a href="#saref:CommandOfInterest">saref:CommandOfInterest</a> for specifying which actual property of interest or state of interest it targets. Considering <a href="#saref:Command">saref:Command</a> was mostly instantiated in online taxonomies and vocabularies, it was decided to keep this identifier for the generic class (instead of introducing some class like "CommandKind"), and introduce <a href="#saref:CommandOfInterest">saref:CommandOfInterest</a>.</div>

[Figure 13](#Figure_13) illustrates the main classes and properties for describing commands and device commands.

@@ -942,13 +942,13 @@ A command may be described in terms of its outputs using OP [saref:hasOutput](#s

<div class="alert-info">EXAMPLE 3: Different complementary commands can be defined for observing a smart home. Observe the temperature will output the indoor temperature property value; observe status of the entry door will output an open/close state.</div>

A command may be described in terms of the properties or states it acts upon, such as observe, or control.
A command may be described in terms of the properties or states it targets, such as observe, or control.

#### <a id="5.9.3"></a>Commands of Interest

A [saref:CommandOfInterest](#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 act upon.
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](#saref:hasCommandOfInterest) may be used to link a function of interest to its command of interest. Its inverse is [saref:isCommandOfInterestOf](#saref:isCommandOfInterestOf) and is functional.

@@ -1063,7 +1063,7 @@ OP [saref:hasPhenomenonTime](#saref:hasPhenomenonTime) links a procedure executi

When the execution time and the phenomenon time are the same time instants, then DP [saref:hasTimestamp](#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 act upon (OP [saref:actsUpon](#saref:actsUpon)) a feature, property, or state.
Optionally, a procedure execution can target (OP [saref:targets](#saref:targets)) a feature, property, or state.

#### <a id="5.11.2"></a>Command executions and operation executions

@@ -1162,13 +1162,13 @@ A device in SAREF can be further characterized by profiles. [Figure 18](#Figure_

A [saref:Profile](#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](#saref:hasProfile) links a device to its profile. Its inverse is [saref:isProfileOf](#saref:isProfileOf). The device should be linked to a certain commodity using OP [saref:isUsedFor](#saref:isUsedFor) or its sub-properties, and optionally to some property or state using OP [saref:actsUpon](#saref:actsUpon) or its sub-properties.
OP [saref:hasProfile](#saref:hasProfile) links a device to its profile. Its inverse is [saref:isProfileOf](#saref:isProfileOf). The device should be linked to a certain commodity using OP [saref:consumes](#saref:consumes), [saref:produces](#saref:produces), or [saref:stores](#saref:stores), and optionally to some property or state using OP [saref:targets](#saref:targets) or its sub-properties.

<div class="alert-info">EXAMPLE 1:

```
ex:Device_1 a saref:Device ;
	saref:isUsedFor s4abcd:Electricity ;
	saref:consumes s4abcd:Electricity ;
	saref:hasProfile ex:FlexibilityProfile ;
	saref:controls <house#temperature> .
ex:FlexibilityProfile a saref:Profile ;
+8 −17
Original line number Diff line number Diff line
@@ -237,12 +237,12 @@ saref:Device
    skos:historyNote "V3.2.1: saref:Device is explicitly a subclass of saref:FeatureOfInterest and s4syst:System."@en ;
    rdfs:subClassOf saref:FeatureOfInterest , s4syst:System .

## Class saref:DeviceKind allows to describe kinds of devices, with common properties having the same value, common states being the same, and targeting the same properties. An instance of saref:DeviceKind represents an archetype of real world entities, for example to populate product catalogs. 
## Class saref:DeviceKind allows 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.

saref:DeviceKind a owl:Class ;
    rdfs:subClassOf saref:FeatureKind ;
    rdfs:label "Device kinds"@en ;
    rdfs:comment "Device kinds allow to describe kinds of devices, with common properties having the same value, common states being the same, and targeting the same properties. An instance of saref:DeviceKind represents an archetype of real world entities, for example to populate product catalogs."@en ;
    rdfs:comment "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."@en ;
    skos:historyNote "V4.1.1: Introduced class saref:DeviceKind"@en .

## Device kinds can be organized in a taxonomy using OPs skos:broader and skos:narrower.
@@ -257,12 +257,12 @@ saref:DeviceKind
            owl:onProperty skos:narrower ;
            owl:allValuesFrom saref:FeatureKind ] .

## A device can be linked to its feature kinds using OP saref:hasDeviceKind. Kinds of devices describe models of devices, with common properties having the same value, common states being the same, common functions, and common services. OP saref:hasDeviceKind  is a sub-property of OP saref:hasFeatureKind.
## A device can be linked to its device kinds using OP saref:hasDeviceKind. 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. OP saref:hasDeviceKind  is a sub-property of OP saref:hasFeatureKind.

saref:hasDeviceKind a owl:ObjectProperty ;
    rdfs:subPropertyOf saref:hasFeatureKind ;
    rdfs:label "has device kind"@en ;
    rdfs:comment "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."@en ;
    rdfs:comment "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."@en ;
    rdfs:domain saref:Device ;
    rdfs:range saref:DeviceKind .

@@ -270,8 +270,8 @@ saref:hasDeviceKind a owl:ObjectProperty ;

saref:targets a owl:ObjectProperty ;
    rdfs:label "targets"@en ;
    rdfs:comment "Links a device, function, command, or procedure execution, to the feature, property, or state, it acts upon."@en ;
    skos:historyNote "V3.2.1: saref:actsUpon now holds not only between a command and a state. It generalizes actsUpon, observes, controls. Domain and range are unions of several classes."@en ;
    rdfs:comment "Links a device, function, command, or procedure execution, to the feature, property, or state, it targets."@en ;
    skos:historyNote "V3.2.1: saref:actsUpon now holds not only between a command and a state. It generalizes observes, observes, controls. Domain and range are unions of several classes."@en ;
    skos:historyNote "V4.1.1: saref:actsUpon is renamed saref:targets."@en ;
    rdfs:domain
        [   a owl:Class ;
@@ -1005,7 +1005,7 @@ saref:FunctionOfInterest a owl:Class ;
    rdfs:label "Function of Interest"@en ;
    rdfs:comment "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."@en ;
    skos:note "A function of interest is the function of (OP saref:isFunctionOfInterestOf) exactly one device."@en ;
    skos:note """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."""@en ;
    skos:note """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 targets."""@en ;
    skos:historyNote "V3.2.1: Introduced saref:FunctionOfInterest, parallel to saref:PropertyOfInterest."@en .

## The OP saref:hasFunctionOfInterest may be used to link a feature of interest to its functions of interest. Its inverse is saref:isFunctionOfInterestOf and is functional.
@@ -1135,7 +1135,7 @@ saref:hasOutput a owl:ObjectProperty ;
    rdfs:domain [ a owl:Class ; owl:unionOf ( saref:Command saref:CommandOfInterest saref:Operation ) ] ;
    skos:example "Different complementary commands can be defined for observing a smart home. Observe the temperature once will output the indoor temperature property; observe status of the entry door will output an open/close state."@en .

## A command may be described in terms of the properties or states it acts upon, such as observe, or control.
## A command may be described in terms of the properties or states it targets, such as observe, or control.

# ETSI TS 103264 Clause 5.9.3: Commands of Interest

@@ -1168,15 +1168,6 @@ saref:isCommandOfInterestOf a owl:ObjectProperty , owl:FunctionalProperty ;
    rdfs:domain saref:CommandOfInterest ;
    rdfs:range saref:FeatureOfInterest .

## A command of interest is the command of (OP saref:isCommandOfInterestOf) exactly one function of interest.

saref:CommandOfInterest 
    rdfs:subClassOf 
        [   a owl:Restriction ;
            owl:onProperty saref:isCommandOfInterestOf ;
            owl:cardinality 1
        ] .

## A command of interest is the command of (OP saref:isCommandOfInterestOf) exactly one function.

saref:CommandOfInterest