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

switch foi and device descriptions, like in TS

parent 9f340e03
Loading
Loading
Loading
Loading
+94 −85
Original line number Diff line number Diff line
@@ -38,8 +38,18 @@
NOTE: Rationale and decisions for many of the changes in V4.1.1 are available in issues in project https://labs.etsi.org/rep/saref/saref-core/-/milestones/3#tab-issues

- Deprecated classes and properties have been deleted
- Introduced saref:DeviceKind
- Renamed saref:actsUpon to saref:targets
- Reworded definition of saref:Sensor and saref:Meter
- saref:hasValue is now optional on saref:PropertyValue
- improved parallel between Property and State descriptions
- introduced saref:StateValue
- Removed examples of commodity categories
- Added notes and examples in multiple sections
- Added clause 5.14 about composite properties
- Reworked figures throughout the document
- Added migration guide from V3.1.1 to V4.1.1
- Updated the oneM2M base ontology to SAREF mapping
- Added principle on generic versus specific entities distinction
- Added references to EN 303 760
""" ;
                          rdfs:comment """Information about changes to version 3.2.1:

@@ -209,89 +219,7 @@ s4syst:System a owl:Class .
time:TemporalEntity a owl:Class .
time:TemporalPosition a owl:Class .

# ETSI TS 103264 Clause 5.2: Feature kinds and features of interest

## Class saref:FeatureOfInterest 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. 

saref:FeatureOfInterest a owl:Class ;
    rdfs:label "Feature of interest"@en ;
    rdfs:comment "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."@en ;
    skos:historyNote "V3.2.1: Definition of saref:FeatureOfInterest is clarified, not only properties are measured, but properties and states can be observed and controlled."@en ;
    skos:historyNote "V3.2.1: Definition of saref:FeatureOfInterest: Clarify it's a specific real world entity."@en ;
    skos:historyNote "V3.2.1: Definition of saref:FeatureOfInterest: allValuesFrom axioms are unnecessary and have been deleted."@en .


## Class saref:FeatureKind allows 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. 

saref:FeatureKind a owl:Class ;
    rdfs:label "Feature kinds"@en ;
    rdfs:comment "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."@en ;
    skos:historyNote "V3.2.1: Introduced class saref:FeatureKind"@en .

## Feature kinds can be organized in a taxonomy using OPs skos:narrower and skos:broader.

saref:FeatureKind 
    skos:historyNote "V3.2.1: Use SKOS to organize generic classes in taxonomies."@en ;
    rdfs:subClassOf 
        [   a owl:Restriction ;
            owl:onProperty skos:broader ;
            owl:allValuesFrom saref:FeatureKind ] ,
        [   a owl:Restriction ;
            owl:onProperty skos:narrower ;
            owl:allValuesFrom saref:FeatureKind ] .

## A feature of interest can be linked to its kind(s) using OP saref:hasFeatureKind.

saref:hasFeatureKind a owl:ObjectProperty ;
    skos:historyNote "V3.2.1: Introduce hasClassKind for Class is Feature, Device, Property, State, Function, Command."@en ;
    rdfs:label "has feature kind"@en ;
    rdfs:comment "links a feature of interest to its kind, a feature kind"@en ;
    rdfs:domain saref:FeatureOfInterest ;
    rdfs:range saref:FeatureKind .

## Feature of interest inherit broader feature kinds.

saref:hasFeatureKind
    owl:propertyChainAxiom ( saref:hasFeatureKind skos:broader ) .

## A feature kind (resp. a feature of interest) may consist of (OP saref:consistsOf) other feature kinds (resp. features of interest).

saref:consistsOf a owl:ObjectProperty ;
    skos:historyNote "V3.2.1: Add local restrictions on consistsOf on feature of interest"@en ;
    rdfs:comment "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)"@en ;
    rdfs:label "consists of"@en .

saref:FeatureKind rdfs:subClassOf [ 
    a owl:Restriction ; 
    owl:onProperty saref:consistsOf ; 
    owl:allValuesFrom saref:FeatureKind ] .

saref:FeatureOfInterest rdfs:subClassOf [ 
    a owl:Restriction ; 
    owl:onProperty saref:consistsOf ; 
    owl:allValuesFrom saref:FeatureOfInterest ] .


## The model and the manufacturer of a saref:FeatureKind or a saref:FeatureOfInterest can be explicited using DPs saref:hasModel and saref:hasManufacturer, respectively. 

saref:hasManufacturer a owl:DatatypeProperty ;
    rdfs:label "has manufacturer"@en ;
    rdfs:comment "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."@en ;
    skos:historyNote "V3.2.1: Defined domain of saref:hasManufacturer to union of feature kind and feature of interest."@en ;
    rdfs:domain [ 
        a owl:Class ; 
        owl:unionOf ( saref:FeatureKind saref:FeatureOfInterest ) ] .

saref:hasModel a owl:DatatypeProperty ;
    rdfs:label "has model"@en ;
    rdfs:comment "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."@en ;
    skos:historyNote "V3.2.1: Defined domain of saref:hasModel to union of feature kind and feature of interest."@en ;
    rdfs:domain [
        a owl:Class ;
        owl:unionOf ( saref:FeatureKind saref:FeatureOfInterest ) ] .


# ETSI TS 103264 Clause 5.3: Devices
# ETSI TS 103264 Clause 5.2: Devices

## Class saref:Device represents any a 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.

@@ -474,6 +402,87 @@ saref:Meter a owl:Class ;
    skos:historyNote "V3.2.1: Definition of Meter is simplified and grounded on saref:observes. Local restriction on saref:hasFunction is deleted."@en .


# ETSI TS 103264 Clause 5.3: Feature kinds and features of interest

## Class saref:FeatureOfInterest 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. 

saref:FeatureOfInterest a owl:Class ;
    rdfs:label "Feature of interest"@en ;
    rdfs:comment "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."@en ;
    skos:historyNote "V3.2.1: Definition of saref:FeatureOfInterest is clarified, not only properties are measured, but properties and states can be observed and controlled."@en ;
    skos:historyNote "V3.2.1: Definition of saref:FeatureOfInterest: Clarify it's a specific real world entity."@en ;
    skos:historyNote "V3.2.1: Definition of saref:FeatureOfInterest: allValuesFrom axioms are unnecessary and have been deleted."@en .


## Class saref:FeatureKind allows 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. 

saref:FeatureKind a owl:Class ;
    rdfs:label "Feature kinds"@en ;
    rdfs:comment "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."@en ;
    skos:historyNote "V3.2.1: Introduced class saref:FeatureKind"@en .

## Feature kinds can be organized in a taxonomy using OPs skos:narrower and skos:broader.

saref:FeatureKind 
    skos:historyNote "V3.2.1: Use SKOS to organize generic classes in taxonomies."@en ;
    rdfs:subClassOf 
        [   a owl:Restriction ;
            owl:onProperty skos:broader ;
            owl:allValuesFrom saref:FeatureKind ] ,
        [   a owl:Restriction ;
            owl:onProperty skos:narrower ;
            owl:allValuesFrom saref:FeatureKind ] .

## A feature of interest can be linked to its kind(s) using OP saref:hasFeatureKind.

saref:hasFeatureKind a owl:ObjectProperty ;
    skos:historyNote "V3.2.1: Introduce hasClassKind for Class is Feature, Device, Property, State, Function, Command."@en ;
    rdfs:label "has feature kind"@en ;
    rdfs:comment "links a feature of interest to its kind, a feature kind"@en ;
    rdfs:domain saref:FeatureOfInterest ;
    rdfs:range saref:FeatureKind .

## Feature of interest inherit broader feature kinds.

saref:hasFeatureKind
    owl:propertyChainAxiom ( saref:hasFeatureKind skos:broader ) .

## A feature kind (resp. a feature of interest) may consist of (OP saref:consistsOf) other feature kinds (resp. features of interest).

saref:consistsOf a owl:ObjectProperty ;
    skos:historyNote "V3.2.1: Add local restrictions on consistsOf on feature of interest"@en ;
    rdfs:comment "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)"@en ;
    rdfs:label "consists of"@en .

saref:FeatureKind rdfs:subClassOf [ 
    a owl:Restriction ; 
    owl:onProperty saref:consistsOf ; 
    owl:allValuesFrom saref:FeatureKind ] .

saref:FeatureOfInterest rdfs:subClassOf [ 
    a owl:Restriction ; 
    owl:onProperty saref:consistsOf ; 
    owl:allValuesFrom saref:FeatureOfInterest ] .


## The model and the manufacturer of a saref:FeatureKind or a saref:FeatureOfInterest can be explicited using DPs saref:hasModel and saref:hasManufacturer, respectively. 

saref:hasManufacturer a owl:DatatypeProperty ;
    rdfs:label "has manufacturer"@en ;
    rdfs:comment "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."@en ;
    skos:historyNote "V3.2.1: Defined domain of saref:hasManufacturer to union of feature kind and feature of interest."@en ;
    rdfs:domain [ 
        a owl:Class ; 
        owl:unionOf ( saref:FeatureKind saref:FeatureOfInterest ) ] .

saref:hasModel a owl:DatatypeProperty ;
    rdfs:label "has model"@en ;
    rdfs:comment "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."@en ;
    skos:historyNote "V3.2.1: Defined domain of saref:hasModel to union of feature kind and feature of interest."@en ;
    rdfs:domain [
        a owl:Class ;
        owl:unionOf ( saref:FeatureKind saref:FeatureOfInterest ) ] .

# ETSI TS 103264 Clause 5.4: Tasks

## Class saref:Task represents goals for which a device is designed, from a user perspective.