saref-core issueshttps://labs.etsi.org/rep/saref/saref-core/-/issues2019-05-30T12:32:44Zhttps://labs.etsi.org/rep/saref/saref-core/-/issues/1Change ranges of datatype properties to rdfs:Literal2019-05-30T12:32:44ZMaria PovedaChange ranges of datatype properties to rdfs:Literal**Affects:** SAREF and its extensions
**Situation:** Right now, the range of datatype properties is defined as xsd:string. This does not include strings with language tags (rdf:langString).
**Proposal:** To change the ranges of datatyp...**Affects:** SAREF and its extensions
**Situation:** Right now, the range of datatype properties is defined as xsd:string. This does not include strings with language tags (rdf:langString).
**Proposal:** To change the ranges of datatype properties to rdfs:Literal.Maxime LefrançoisMaxime Lefrançoishttps://labs.etsi.org/rep/saref/saref-core/-/issues/2Remove strong cardinality restriction in saref:hasDescription2019-05-22T14:22:40ZMaria PovedaRemove strong cardinality restriction in saref:hasDescription*Affects:* SAREF
*Situation:* saref:Command has max 1 saref:hasDescription. This may cause a critical bug (inconsistent knowledge graph) if one defines more than one description.
*Proposal:* To remove the maximum cardinality axiom in s...*Affects:* SAREF
*Situation:* saref:Command has max 1 saref:hasDescription. This may cause a critical bug (inconsistent knowledge graph) if one defines more than one description.
*Proposal:* To remove the maximum cardinality axiom in saref:hasDescription.Maxime LefrançoisMaxime Lefrançoishttps://labs.etsi.org/rep/saref/saref-core/-/issues/3Delete terms not used in the SAREF extensions2019-12-10T11:19:41ZMaxime LefrançoisDelete terms not used in the SAREF extensions**Situation:** Some terms are not used in the SAREF extensions, but may be used by users of SAREF:
- `saref:hasDescription`
- `saref:hasName` (hasName is now actually encoded inside the URI of the class)
- `EnergyRelated`, `FunctionRela...**Situation:** Some terms are not used in the SAREF extensions, but may be used by users of SAREF:
- `saref:hasDescription`
- `saref:hasName` (hasName is now actually encoded inside the URI of the class)
- `EnergyRelated`, `FunctionRelated`, `BuildingRelated`
**Proposal:** To delete these terms, and anywhere in the spec where `saref:hasDescription` is used, recommend the use of `dcterms:description` instead.
**Status:**
- `hasDescription` and `hasName`: agreed during SmartM2M-RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-04-08
- other classes: agreed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/4Review terms not mentioned in the SAREF TS2024-03-05T09:54:24ZMaxime LefrançoisReview terms not mentioned in the SAREF TS**Affects:** SAREF
**Situation:** Some terms appear in the ontology implementation but are not mentioned in the SAREF TS:
- saref:hasThresholdMeasurement
- saref:hasMeterReading
- saref:hasMeterReadingType
- saref:hasSensingRa...**Affects:** SAREF
**Situation:** Some terms appear in the ontology implementation but are not mentioned in the SAREF TS:
- saref:hasThresholdMeasurement
- saref:hasMeterReading
- saref:hasMeterReadingType
- saref:hasSensingRange
- saref:hasSensorType
**Proposal:** To review these terms and to analyse whether to mention them in the TS (giving a proper motivation) or to remove them without affecting others, or we make in a section of the TS that sometimes in the ontology file there are concepts that are there just for examples, and can be used.
**Status:** discussed during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/5Clarify descriptions of some terms2019-11-07T10:50:50ZMaxime LefrançoisClarify descriptions of some termsSome term definitions can be clarified to avoid misunderstandings:
- (The definition of EventFunction is too strict compared to what the name suggests)
- EventFunction - A function that allows to notify another device that a certain t...Some term definitions can be clarified to avoid misunderstandings:
- (The definition of EventFunction is too strict compared to what the name suggests)
- EventFunction - A function that allows to notify another device that a certain threshold value has been exceeded
- **Proposal:** change definition to: A function that allows to notify another device that some event occurred, for example that a certain threshold value has been exceeded
- (saref:isUsedFor is used to link devices to commodities. Not to control function or command)
- saref:isUsedFor - A relationship specifying the purpose for which a device is used for (e.g., controlling a Commodity)
- **Proposal:** change definition to: A relationship specifying the commodity for which a device is used for
- (Only properties can be measured in Profiles. Also, no record of usage of Profiles for Commodity in SAREF4ENER the only use of Profile is for the property Power)
- Profile - about a certain Property (e.g., Energy) or Commodity (e.g. Water)
- **Proposal:** change definition to: about a certain Property (e.g., Energy)
- (Enforces the consistency of the definitions of the functions)
- LevelControlFunction - An actuating function that allows to do level adjustments of an actuator in a certain range (e.g., 0%-100%), such as dimming a light or set the speed of an electric motor.
- **Proposal:** change definition to: An actuating function that allows to do level adjustments of the property of a device or a feature of interest in a certain range (e.g., 0%-100%), such as dimming the light in a room or setting the speed of an electric motor.
- (hasCommand and isCommandOf are inverse one of another. the subject of a saref:hasCommand relationship will most often be automatically classified as a saref:Function. This may lead to bugs in systems.)
- saref:hasCommand - A relationship between an entity (such as a function) and a command
- saref:isCommandOf - A relationship between a command and a function.
- **Proposal:** change definition of saref:hasCommand to: A relationship between a function and a command
- Device instances will be linked to function instances. Not function types. If some SAREF user uses them differently, it may lead to interoperability issues.
- saref:hasFunction - A relationship identifying the type of function of a device
- **Proposal:** change definition to: A relationship identifying the function of a device
- (only saref:Device can be associated with profiles)
- saref:hasProfile - A relationship associating a profile to a certain entity (e.g., a device)
- **Proposal:** change definition to: A relationship associating a profile to a certain device or feature of interest
- (This is misleading as this is a class, not an instance. There is usually more than one unit of measure for a quantity kind)
- saref:Currency - The unit of measure for price
- **Proposal:** change definition to: The class of units of measures for price
Proposal: To update the term definitions.
**Status:** agreed during SmartM2M-RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-04-08Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/6To use rdfs:comment instead of saref:hasDescription2019-11-07T10:50:59ZMaxime LefrançoisTo use rdfs:comment instead of saref:hasDescription**Situation:** There exists rdfs:comment, which is the recommended property to add a description to a concept. However, there is people already using the property (e.g., https://innoweb.mondragon.edu/ontologies/dabgeo/application_context...**Situation:** There exists rdfs:comment, which is the recommended property to add a description to a concept. However, there is people already using the property (e.g., https://innoweb.mondragon.edu/ontologies/dabgeo/application_context/application_type/home_appliances_dr/appliancephase/1.1/index-en.html).
**Proposal:** To use rdfs:comment instead of saref:hasDescription and deprecate saref:hasDescription.
**Status:** agreed during SmartM2M-RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-04-08Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/7Use language tags in labels and comments2019-09-16T07:49:11ZMaxime LefrançoisUse language tags in labels and comments**Affects:** SAREF and its extensions
**Situation:** this is a best practice, and translations in other languages may be provided in the future
**Proposal:** To use language tags @en instead of the xsd:string datatype for all labels an...**Affects:** SAREF and its extensions
**Situation:** this is a best practice, and translations in other languages may be provided in the future
**Proposal:** To use language tags @en instead of the xsd:string datatype for all labels and comments.
**Status:** agreed during SmartM2M-RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-04-08Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/8Think of naming patterns Command / Device / command2024-03-05T09:57:46ZMaxime LefrançoisThink of naming patterns Command / Device / command**Affects:** SAREF and its extensions
**Situation:** instances of patterns may be identified in SAREF, but sometimes only partially, and with naming heterogeneities
| procedure | act | obs | notif | meter |
| ------ | ------ | ------ | ...**Affects:** SAREF and its extensions
**Situation:** instances of patterns may be identified in SAREF, but sometimes only partially, and with naming heterogeneities
| procedure | act | obs | notif | meter |
| ------ | ------ | ------ | ------ | ------ |
| name of the command | ActuatingCommand | SensingCommand | NotifyingCommand | MeteringCommand |
| name of the device | Actuator | Sensor | Notifier | Meter |
| link between device and property | actsUpon | observes | notifiesAbout | measures |
**Proposal:** There should be a clear classification/hierarchy that is common to Commands, Devices, Functions. And properties. The current relation between commands and devices is partial and misleading.
**Status:** discussions startedRaul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/9Clarify link between service and command2024-03-05T09:56:48ZMaxime LefrançoisClarify link between service and command**Situation:** there is no clear relationship between concepts switchOnService and OnCommand, although their name suggests there is. There is nothing specific about “On” in the description.
**Proposal:** Clarify/document the relationshi...**Situation:** there is no clear relationship between concepts switchOnService and OnCommand, although their name suggests there is. There is nothing specific about “On” in the description.
**Proposal:** Clarify/document the relationships between services, functions and commands in the documentation.Explain the link is in oneM2M.
**Status:** agreed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06. Open question: keep service in SAREF, or just import oneM2M , or just reuse a subset of oneM2M terms, without importing it ?Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/10Add a relationship between a function and the state or property it acts upon ?2024-03-05T09:55:05ZMaxime LefrançoisAdd a relationship between a function and the state or property it acts upon ?**Situation:** Only a command can can be linked to the state it acts upon. There is no relationship between a function and the state or property it acts upon. There is no relationship between an actuator and the state or property it acts...**Situation:** Only a command can can be linked to the state it acts upon. There is no relationship between a function and the state or property it acts upon. There is no relationship between an actuator and the state or property it acts upon. (controlsProperty exists already).
_Markus Maass:_
> state belonges to properties, because devices consists of lots of properties
**Proposal:** Discuss if these relationships need to be introduced.
**Status:** discussed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06 . Should be discussed further.Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/11DoorSwitch both is a Switch and consistsOf Switch2019-07-22T14:04:22ZMaxime LefrançoisDoorSwitch both is a Switch and consistsOf Switch**Affects:* SAREF
**Situation:** From the combination of the two axioms below, a SAREF user may induce that there are two distinct switches. This would lead to wrong classification, and potentially make a knowledge graph inconsistent.
...**Affects:* SAREF
**Situation:** From the combination of the two axioms below, a SAREF user may induce that there are two distinct switches. This would lead to wrong classification, and potentially make a knowledge graph inconsistent.
```
Axiom subClassOf( DoorSwitch Switch )
Axiom subClassOf( DoorSwitch someValuesFrom( consistsOf Switch ) )
```
Other concepts have the same situation: EnergyMeter is asserted to be both a Meter and some device that consists of a Meter
**Proposal:** Remove the second axiom, for each of the impacted concepts
**Status:** agreed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/12Bug in LightSwitch2019-07-22T14:05:51ZMaxime LefrançoisBug in LightSwitch**Affects:** SAREF
**Situation:** A LightSwitch is classified as an actuator. It does not measure light. But SAREF contains the following axiom:
```
Axiom subClassOf( LightSwitch SomeValuesFrom( measuresProperty Light) )
```
**Propos...**Affects:** SAREF
**Situation:** A LightSwitch is classified as an actuator. It does not measure light. But SAREF contains the following axiom:
```
Axiom subClassOf( LightSwitch SomeValuesFrom( measuresProperty Light) )
```
**Proposal:* Replace with controlsProperty.
**Status:** agreed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/13Use of saref:accomplishes2019-07-22T13:48:05ZMaxime LefrançoisUse of saref:accomplishes**Affects:** SAREF
**Situation:** there exists temperature sensors who are not meant to accomplish comfort. But SAREF contains the following axiom:
```
Axiom subClassOf( TemperatureSensor HasValue( accomplishes Comfort) )
```
This ha...**Affects:** SAREF
**Situation:** there exists temperature sensors who are not meant to accomplish comfort. But SAREF contains the following axiom:
```
Axiom subClassOf( TemperatureSensor HasValue( accomplishes Comfort) )
```
This happens in other places too, where the axiom was meant to provide examples, but has unwanted logical implications.
**Proposal:** Delete these axioms, and add a sentence at the end of the definitions to give an example of the task they can accomplish
**Status:** agreed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/14Are tasks accomplished by at least one device ?2019-07-22T14:04:40ZMaxime LefrançoisAre tasks accomplished by at least one device ?**Affects:** SAREF
**Situation:** The axiom below states that each and every task is accomplished by at least one device. This restriction is too strong and not necessary. One should be able to describe a task even if no device accompli...**Affects:** SAREF
**Situation:** The axiom below states that each and every task is accomplished by at least one device. This restriction is too strong and not necessary. One should be able to describe a task even if no device accomplishes it.
```
Axiom subClassOf( saref:Task ObjectMinCardinality ( 1 saref:isAccomplishedBy saref:Device ) )
```
**Proposal:** To remove these axioms.
**Status:** agreed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/15Add domain or range of properties when unambiguous2019-12-05T14:17:55ZMaxime LefrançoisAdd domain or range of properties when unambiguous**Affects:** SAREF
**Situation:** It is clear from some definitions of properties what the subject and/or the object is. If some SAREF user uses them differently, it may lead to interoperability issues.
- saref:accomplishes: A relations...**Affects:** SAREF
**Situation:** It is clear from some definitions of properties what the subject and/or the object is. If some SAREF user uses them differently, it may lead to interoperability issues.
- saref:accomplishes: A relationship between a certain entity (e.g., a device) and the task it accomplishes
From this definition, it is unambiguous that the object of a saref:accomplishes relationship is always a task.
- saref:accomplishes - A relationship between a certain entity (e.g., a device) and the task it accomplishes
- domain is saref:Command and range is saref:State
- saref:actsUpon - A relationship between a command and a state
- domain saref:Command, range saref:State
- saref:controlsProperty - A relationship specifying the Property that can be controlled by a certain Device
- domain saref:Device, range saref:Property
- saref:hasCommand - A relationship between an entity (such as a function) and a command
- domain saref:Function and range saref:Command
- saref:hasFunction - A relationship identifying the type of function of a device
- domain saref:Device and range saref:Function
- saref:hasMeterReading - A relationship between a metering function and the measurement of the reading
- domain saref:MeteringFunction and range saref:Measurement.
- saref:hasMeterReadingType - A relationship identifying the reading type of a measurement (e.g., Water, Gas, Pressure , Energy , Power, etc.)
- domain saref:Measurement and range saref:Property
- saref:hasPrice - A relationships indentifying the price associated to an entity
- range saref:Price
- saref:hasProfile - A relationship associating a profile to a certain entity (e.g., a device)
- domain saref:Device and range saref:Profile
- saref:hasSensingRange - A relationship between a sensing function and a measurement identifying the range of a sensor detection
- domain saref:SensingFunction and range saref:Measurement
- saref:hasSensorType - A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.)
- domain saref:SensingFunction and range Property
- saref:hasState - A relationship identifying the type of state of a device
- domain saref:Device and range saref:State
- saref:hasThresholdMeasurement - A relationship associated with an event function to notify that a certain threshold measurement has been exceeded
- domain saref:EventFunction and range saref:Measurement
- saref:hasTime - A relationship to associate time information to an entity
- range saref:Time
- saref:isAccomplishedBy - A relationship identifying the task accomplished by a certain entity (e.g., a device)
- domain saref:Task
- saref:isCommandOf - A relationship between a command and a function.
- domain saref:Command and range saref:Function
- saref:isControlledByDevice - A relationship specifying the devices that can control a certain property
- domain saref:Property and range saref:Device
- saref:isMeasuredByDevice - A relationship specifying the devices that can measure a certain property
- domain saref:Property and range saref:Device
- saref:isMeasuredIn - A relationship identifying the unit of measure used for a certain entity.
- domain saref:Measurement and range saref:UnitOfMeasure
- saref:isOfferedBy - A relationship between a service and a device that offers the service
- domain saref:Service and range saref:Device
- saref:makesMeasurement - A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates.
- domain saref:Device and range saref:Measurement
- saref:measuresProperty - A relationship specifying the Property that can be measured by a certain Device
- domain saref:Device and range saref:Property
- saref:offers - A relationship between a device and a service
- domain saref Device and range saref:Service
- saref:relatesToMeasurement - A relationship between a property and the measurements it relates to
- domain saref:Property and range saref:Measurement
- saref:relatesToProperty - A relationship between a measurement and the property it relates to
- domain saref:Measurement and range saref:Property
- saref:represents - A relationship between a service and a function.
- domain saref:Service and range saref:Function
**Proposal:** To add ObjectPropertyDomain and ObjectPropertyRange axioms wherever the definition of a property unambiguously identifies the domain or the range of a property.
**Status:** agreed during SmartM2M-RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-04-08Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/16Reading Type of measurements cannot be commodities2024-03-05T09:58:54ZMaxime LefrançoisReading Type of measurements cannot be commodities**Affects:** SAREF
**Situation:** The definition of hasMeterReadingType is "A relationship identifying the reading type of a measurement (e.g., Water, Gas, Pressure , Energy , Power, etc.)". And SAREF contains the axiom:
```
subClassOf...**Affects:** SAREF
**Situation:** The definition of hasMeterReadingType is "A relationship identifying the reading type of a measurement (e.g., Water, Gas, Pressure , Energy , Power, etc.)". And SAREF contains the axiom:
```
subClassOf( Device AllValuesFrom(hasMeterReadingType UnionOf ( saref:Commodity saref:Property ))
```
However, it is ambiguous to assert that a metering function measures water, electricity, or other commodities, which intrinsically have no unit of measure. It is better to assert that a metering function measures some property.
**Proposal:** change the definition of saref:hasMeterReadingType to: A relationship that links a Metering Function to the property that it can make measurement of (e.g., Pressure , Energy , Power, etc.). And change the axiom to:
```
subClassOf( Device AllValuesFrom(hasMeterReadingType saref:Property )
```Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/17States are sub-types of properties ?2024-03-05T09:53:58ZMaxime LefrançoisStates are sub-types of properties ?**Affects:** SAREF
**Situation:** the definition of saref:hasSensorType is: A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.). Yet sensors may also...**Affects:** SAREF
**Situation:** the definition of saref:hasSensorType is: A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.). Yet sensors may also detect statuses of features of interest, such as open/close or hot/cold
**Proposal:** assert that states are sub-types of properties and add the following two axioms:
```
saref:State a subclass of saref:Property
saref:hasState a subproperty of saref:hasProperty
```Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/18definition of EventFunction is too restrictive2019-09-17T13:26:58ZMaxime Lefrançoisdefinition of EventFunction is too restrictive**Affects:** SAREF
**Situation:** the definition of EventFunction is "A function that allows to notify another device that a certain threshold value has been exceeded.". However, there may be other kind of event functions such as to det...**Affects:** SAREF
**Situation:** the definition of EventFunction is "A function that allows to notify another device that a certain threshold value has been exceeded.". However, there may be other kind of event functions such as to detect when a person passes through a door.
Proposal: to rewrite the definition
**Status:** agreed during SmartM2M-RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-04-08Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/19cannot associate other typical consumption than power and energy2019-09-17T13:28:58ZMaxime Lefrançoiscannot associate other typical consumption than power and energy**Affects:** SAREF
**Situation:** SAREF contains the axiom `SubClassOf( Device AllValuesFrom(hasTypicalConsumption UnionOf ( Energy Power)`. If a SAREF user associates some other property to the device, the knowledge base would become ...**Affects:** SAREF
**Situation:** SAREF contains the axiom `SubClassOf( Device AllValuesFrom(hasTypicalConsumption UnionOf ( Energy Power)`. If a SAREF user associates some other property to the device, the knowledge base would become inconsistent.
**Proposal:** to delete the axiom
**Status:** agreed during SmartM2M-RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-04-08Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/20Commodities cannot be measured using unit of measure2019-10-22T10:15:17ZMaxime LefrançoisCommodities cannot be measured using unit of measure**Affects:** SAREF
**Situation:** SAREF contains the axiom: `subClassOf(Commodity AllValuesFrom( isMeasuredIn UnitOfMeasure )`. However, examples of commodities like Water or Electricity cannot be measured using any unit of measure. isM...**Affects:** SAREF
**Situation:** SAREF contains the axiom: `subClassOf(Commodity AllValuesFrom( isMeasuredIn UnitOfMeasure )`. However, examples of commodities like Water or Electricity cannot be measured using any unit of measure. isMeasuredIn should only be used for Measurements
**Proposal:** to delete the axiom
**Status:** agreed during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/21relatesToMeasurement and relatesToProperty should be inverse one of another2019-09-17T13:31:00ZMaxime LefrançoisrelatesToMeasurement and relatesToProperty should be inverse one of another**Affects:** SAREF
**Situation:** from the definitions of relatesToMeasurement and relatesToProperty, it should be clear that these two properties are inverse one of another.
- saref:relatesToMeasurement - A relationship between a prop...**Affects:** SAREF
**Situation:** from the definitions of relatesToMeasurement and relatesToProperty, it should be clear that these two properties are inverse one of another.
- saref:relatesToMeasurement - A relationship between a property and the measurements it relates to
- saref:relatesToProperty - A relationship between a measurement and the property it relates to
**Proposal:** Add the axiom: `inverseOf( saref:relatesToMeasurement saref:relatesToProperty )`.
**Status:** agreed during SmartM2M-RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-04-08Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/22units of measure are just examples2019-11-11T18:47:02ZMaxime Lefrançoisunits of measure are just examples**Affects:** SAREF
**Situation:** SAREF contains the axiom
```
saref:UnitOfMeasure rdfs:isDefinedBy <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> .
```
and all the instances of units of measures that serve as examples...**Affects:** SAREF
**Situation:** SAREF contains the axiom
```
saref:UnitOfMeasure rdfs:isDefinedBy <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> .
```
and all the instances of units of measures that serve as examples are from OM v 1.8. However, these instances and this annotation are not present in the SAREF TS. The SAREF core ontology should not take one ontology of units of measure specifically. Examples may be provided in a separate document. OM had a v 1.8, now v 2.0 is under development. Alternatives include QUDT or the cdt:ucum datatype.
**Proposal:** The specification is agnostic of the way of representing units. The ontology file should also be agnostic. Examples of the use of OM will be moved to specific instance files using the ontology under consideration and that people can download to understand how SAREF can be used
**Status:** agreed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06 . updated during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/23Examples should be moved away from SAREF-core2019-12-05T14:17:56ZMaxime LefrançoisExamples should be moved away from SAREF-core**Affects:** SAREF
**Situation:** The SAREF ontology contains many examples of devices like WashingMachine
However, these instances and their annotation are not present in the SAREF TS. There is no evidence of usage of these concepts i...**Affects:** SAREF
**Situation:** The SAREF ontology contains many examples of devices like WashingMachine
However, these instances and their annotation are not present in the SAREF TS. There is no evidence of usage of these concepts in other SAREF extensions
**Proposal:** Move the examples to additional resources/documentation and not in the ontology. Only keep Actuator Appliance Sensor Meter, keep HVAC (maybe remove it in the future, add in the comment that there is a link with saref4bldg). Remove LightingDevice, remove MicroRenewable, remove Multimedia but create an example about Multimedia. remove Network.
**Status:** agreed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/24range of hasValue should not be xsd:float.2019-10-02T10:05:30ZMaxime Lefrançoisrange of hasValue should not be xsd:float.**Affects:** SAREF
**Situation:** SAREF contains axiom Range( hasValue xsd:float ). However, there are other datatypes for measurements. Some domains require the precision of doubles. One may use the cdt:ucum datatype to associate a val...**Affects:** SAREF
**Situation:** SAREF contains axiom Range( hasValue xsd:float ). However, there are other datatypes for measurements. Some domains require the precision of doubles. One may use the cdt:ucum datatype to associate a value. The number of persons in a building would be an integer. Other types of property may be thought about, like vectors (x, y, z acceleration), matrices (strain in deformable solids)
**Proposal:** remove the axiom. Update the definition of hasValue to specify that numeric values are expected to enable reasoning
**Status:** agreed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/25measurements could be more complex than that2024-03-05T09:55:30ZMaxime Lefrançoismeasurements could be more complex than that**Affects:** SAREF
**Situation:** SAREF contains axioms
```
Axiom SubClassOf (Measurement ObjectExactCardinality(isMeasuredIn 1 UnitOfMeasure)
Axiom SubClassOf (Measurement ObjectExactCardinality(relatesToProperty 1 Property )
```
How...**Affects:** SAREF
**Situation:** SAREF contains axioms
```
Axiom SubClassOf (Measurement ObjectExactCardinality(isMeasuredIn 1 UnitOfMeasure)
Axiom SubClassOf (Measurement ObjectExactCardinality(relatesToProperty 1 Property )
```
However a Measurement may be about more than one property, and use more than one unit of measure. For example the measurement of strain in deformable solids outpus both force (N) and torque (N.m).
**Proposal:** remove the two axioms.
**Status:** discussed during SmartM2M-2nd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-06 : need simple means to link to a numeric value. Maybe introduce an ObjectProperty hasValueObject (to link to measurement ontologies for example), provide example on how to do so. For example, SAREF4health: the output of a sensor may be a timeseries, which needs to be represented as an individual and not a literal.Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/26Move unit classes to examples2024-03-05T09:57:07ZMaxime LefrançoisMove unit classes to examples**Affects:** SAREF
**Situation:** SAREF contains the classes saref:IlluminanceUnit, saref:PowerUnit, saref:PressureUnit, saref:TemperatureUnit, saref:EnergyUnit. However, they are not mentioned in the SAREF TS document. There are classe...**Affects:** SAREF
**Situation:** SAREF contains the classes saref:IlluminanceUnit, saref:PowerUnit, saref:PressureUnit, saref:TemperatureUnit, saref:EnergyUnit. However, they are not mentioned in the SAREF TS document. There are classes for these units in OM, QUDT, or even a datatype for this in cdt:ucum. Also, their definition is "The unit of measure for { ?label }". This is misleading as this is a class, not an instance. There is usually more than one unit of measure for a quantity kind
**Proposal:** delete these classes, moved to specific instance files using the ontology under consideration and that people can download to understand how SAREF can be usedRaul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/27consistsOf should not be used for Time2024-03-05T09:58:37ZMaxime LefrançoisconsistsOf should not be used for Time**Affects:** SAREF
**Situation:** SAREF contains axiom `saref:Time saref:consistsOf time:TemporalEntity`. However, this is not specified in SAREF TS. Also, the relation saref:consistsOf has a different meaning elsewhere in the ontolog...**Affects:** SAREF
**Situation:** SAREF contains axiom `saref:Time saref:consistsOf time:TemporalEntity`. However, this is not specified in SAREF TS. Also, the relation saref:consistsOf has a different meaning elsewhere in the ontology.
**Proposal:** delete the axiomRaul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/28a metering function may have other commands than the three currently specified2019-07-22T14:05:01ZMaxime Lefrançoisa metering function may have other commands than the three currently specified**Affects:** SAREF
**Situation:** Some axioms are to restrictive in SAREF:
- axiom `SubClassOf( MeteringFunction AllValuesFrom( hasCommand UnionOf ( saref:GetCurrentMeterValueCommand saref:GetMeterDataCommand saref:GetMeterHistoryComm...**Affects:** SAREF
**Situation:** Some axioms are to restrictive in SAREF:
- axiom `SubClassOf( MeteringFunction AllValuesFrom( hasCommand UnionOf ( saref:GetCurrentMeterValueCommand saref:GetMeterDataCommand saref:GetMeterHistoryCommand ) ) )`, which means that if a metering function has a command, then this command is a GetCurrentMeterValueCommand , a GetMeterDataCommand , or a GetMeterHistoryCommand. However, a metering function may have other commands than these three (ex. saref-ext:GetLast10MeterValueCommand ) . If a SAREF user adds such a command, then it would be wrongly classified as one of the three. This may lead to knowledge base inconsistencies.
- **Proposal:** change the axiom to
- `subClassOf( GetCurrentMeterValueCommand AllValuesFrom( isCommandOf MeteringFunction ) )`, which means: the command GetCurrentMeterValueCommand is a command of the function MeteringFunction
- axiom `subClassOf( EventFunction AllValuesFrom( hasCommand NotifyCommand)`. However, a event function may have other commands than the notify command (ex. saref-ext:SetMaxRateCommand saref-ext:SetBurstValueCommand ) . If a SAREF user adds such a command, thaen it would be wrongly classified. This may lead to knowledge base inconsistencies. At least, the NotifyCommand is always a command of the EventFunction function
- **Proposal:** change the axiom to
- `subClassOf( NotifyCommand AllValuesFrom( isCommandOf EventFunction)`.
- `axiom subClassOf( SensingFunction AllValuesFrom( hasCommand GetSensingDataCommand)`. However, a sensing function may have other commands than the get sensing data command. If a SAREF user adds such a command, then it would be wrongly classified. This may lead to knowledge base inconsistencies
- **Proposal:** change the axiom to
- `subClassOf( GetSensingDataCommand SomeValuesFrom( isCommandOf SensingFunction)`
- axiom `subClassOf( OnOffFunction AllValuesFrom( hasCommand UnionOf( saref:OffCommand saref:OnCommand saref:ToggleCommand))`. Same problem as above.
- **Proposal:** change the axioms, except for Toggle, which may be a command for other functions, like saref-ext:HotColdFunction.
- Axiom `subClassOf( OffCommand AllValuesFrom( isCommandOf OnOffFunction)`
- Axiom `subClassOf( OnCommand AllValuesFrom( isCommandOf OnOffFunction)`
- Axiom `subClassOf( ToggleCommand AllValuesFrom( isCommandOf OnOffFunction)`
- This also applies to:
- OpenCloseFunction and the commands OpenCommand and CloseCommand.
- StartStopFunctionand and the commands StartCommandand StopCommand.
- LevelControlFunction and the commands SetAbsoluteLevel SetRelativeLevelCommand StepDownCommand StepUpCommand.
**Proposal:** rewrite the axioms
**Status:** agreed during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/29Toggle: on/off or open/close ?2024-03-05T09:59:45ZMaxime LefrançoisToggle: on/off or open/close ?**Affects:** SAREF
**Situation:** SAREF contains ToggleCommand, which can be used indifferently for on/off, or open/close. However, it would be easier to identify that toggle has different meanings depending on the function
**Proposal:...**Affects:** SAREF
**Situation:** SAREF contains ToggleCommand, which can be used indifferently for on/off, or open/close. However, it would be easier to identify that toggle has different meanings depending on the function
**Proposal:** improve the description of ToggleCommand, maybe add classes OnOffToggleCommand, OpenCloseToggleCommand, etc., potentially make them sub-classes of ToggleCommand
**Status:** discussed during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09. Further discussion is needed.Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/30Features of interest may also be on or off, open or close2019-05-22T15:28:19ZMaxime LefrançoisFeatures of interest may also be on or off, open or close**Affects:** SAREF
**Situation:** The definition of OnOffFunction is "switch on and off an actuator". OpenCloseFunction is "open or close an actuator" However, other devices or even features of interest may be on or off, open or close.
...**Affects:** SAREF
**Situation:** The definition of OnOffFunction is "switch on and off an actuator". OpenCloseFunction is "open or close an actuator" However, other devices or even features of interest may be on or off, open or close.
**Proposal:** generalize the definitions to OnOffFunction - switch on or off a feature of interest OpenOrCloseFunction - open or close a feature of interest
**Status:** Rejected during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09.Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/31commands can act upon other states2019-07-22T13:48:44ZMaxime Lefrançoiscommands can act upon other states**Affects:** SAREF
**Situation:** SAREF contains axioms `subClassOf( ?someCommand AllValuesFrom( actsUpon ?someState ) )`. However, for example, an actuating function may act on other states by transitivity (e.g., a heater actsUpon temp...**Affects:** SAREF
**Situation:** SAREF contains axioms `subClassOf( ?someCommand AllValuesFrom( actsUpon ?someState ) )`. However, for example, an actuating function may act on other states by transitivity (e.g., a heater actsUpon temperature and humidity, as temperature and humidity are coupled). If a user asserts that an actuating function acts on two distinct properties, then the knowledge base will be inconsistent. Other example: an actuating function should also be capable of changing the property of a feature of interest (ex. the temperature of the heater, which may be linked to a state of the heater cold or hot).
**Proposal:** change the axioms to `subClassOf( ?someCommand SomeValuesFrom( actsUpon ?someState ) )`
**Status:** agreed during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/32remove the instances of the command classes2019-07-22T13:39:13ZMaxime Lefrançoisremove the instances of the command classes**Affects:** SAREF
**Situation:** instances of the command classes are provided in the ontology. However, if saref:SetAbsoluteLevel is "the" instance of the saref:SetAbsoluteLevelCommand class, and if one uses it to define two different...**Affects:** SAREF
**Situation:** instances of the command classes are provided in the ontology. However, if saref:SetAbsoluteLevel is "the" instance of the saref:SetAbsoluteLevelCommand class, and if one uses it to define two different commands (one with value 20 and one with value 22), then there is no way to identify which command has what value, because the same identifier is used for two commands. Also, some of these are both instances of State and command, which are conceptually distinct. Finally, they are not mentioned in the SAREF TS document
**Proposal:** remove these instances, and add a section in the TS where we provide very clear examples on how commands can be instantiated
**Status:** agreed during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/33definition of State2024-03-05T09:56:18ZMaxime Lefrançoisdefinition of State**Affects:** SAREF
**Situation:** The definition of State is "The state of a device that is […]". However not only devices have states. A door, too, can be open or closed.
**Proposal:** change the definition of State to: "The state of...**Affects:** SAREF
**Situation:** The definition of State is "The state of a device that is […]". However not only devices have states. A door, too, can be open or closed.
**Proposal:** change the definition of State to: "The state of a device or a feature of interest that is […]"
**Status:** discussed during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09. Further discussion is needed.Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/34Useless local restrictions on Command and Function2024-03-05T09:58:08ZMaxime LefrançoisUseless local restrictions on Command and Function**Affects:** SAREF
**Situation:** SAREF contains axioms
```
SubClassOf( Command AllValuesFrom( isCommandOf Function ) ).
SubClassOf( Function AllValuesFrom( hasCommand Command ) )
```
If isCommandOf and hasCommand only applies to Com...**Affects:** SAREF
**Situation:** SAREF contains axioms
```
SubClassOf( Command AllValuesFrom( isCommandOf Function ) ).
SubClassOf( Function AllValuesFrom( hasCommand Command ) )
```
If isCommandOf and hasCommand only applies to Commands, and the domains and ranges are specified, then these axioms are useless.
**Proposal:** delete the axioms **if** the domain and range is specified
**Status:** dependent on the reolution of proposal 15 during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09.Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/36stop importing the Time ontology2019-09-17T13:16:50ZMaxime Lefrançoisstop importing the Time ontology**Affects:** SAREF
**Situation:** the OWL Time ontology has an axiom that make it inconsistent. If SAREF imports it directly, then SAREF is inconsistent.
**Proposal:** do not import the OWL Time ontology, but add a section in the TS n...**Affects:** SAREF
**Situation:** the OWL Time ontology has an axiom that make it inconsistent. If SAREF imports it directly, then SAREF is inconsistent.
**Proposal:** do not import the OWL Time ontology, but add a section in the TS needs to explain to the user how this can be done
**Status:** agreed during SmartM2M-RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-04-08. SAREF4Indus and SAREF4Agri already propose mappings, they may be used as starting pointsMaxime LefrançoisMaxime Lefrançoishttps://labs.etsi.org/rep/saref/saref-core/-/issues/37Example files define ontologies2024-03-05T09:53:40ZRaul Garcia-CastroExample files define ontologies**Affects:** Examples
**Situation:** The example files in the "examples" directory define an ontology that imports SAREF.
This is not needed since the examples only contain individuals.
**Proposal:** To remove the declaration of the o...**Affects:** Examples
**Situation:** The example files in the "examples" directory define an ontology that imports SAREF.
This is not needed since the examples only contain individuals.
**Proposal:** To remove the declaration of the ontologies in the example files.Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/38I would like a concept for washing machine2019-11-12T07:54:37ZMaxime LefrançoisI would like a concept for washing machineThis is important because I don't like to wash dishes by hand.This is important because I don't like to wash dishes by hand.Laurent VelezLaurent Velezhttps://labs.etsi.org/rep/saref/saref-core/-/issues/39Documentation of :OffState2019-10-22T10:15:33ZRaul Garcia-CastroDocumentation of :OffStateThe current documentation of :OffState in the rdfs:comment states: "The state of a device that is ON"; but it should be "OFF".The current documentation of :OffState in the rdfs:comment states: "The state of a device that is ON"; but it should be "OFF".Raul Garcia-CastroRaul Garcia-Castrohttps://labs.etsi.org/rep/saref/saref-core/-/issues/40Features of Interest2019-11-12T07:54:22ZMaxime LefrançoisFeatures of InterestHow should we add features of interest in SAREF v3?
relates to issue #29 , #5 , MR !24How should we add features of interest in SAREF v3?
relates to issue #29 , #5 , MR !24v3.1.1Maria PovedaMaria Povedahttps://labs.etsi.org/rep/saref/saref-core/-/issues/41Move examples of devices and functions out of SAREF core2024-03-05T10:00:12ZRaul Garcia-CastroMove examples of devices and functions out of SAREF coreMany terms under `saref:Device` still look more like examples and should be deleted from the core and moved to examples.
Namely:
* Door switch, light switch, smoke sensor, temperature sensor
* HVAC
* Appliance
This also applies to s...Many terms under `saref:Device` still look more like examples and should be deleted from the core and moved to examples.
Namely:
* Door switch, light switch, smoke sensor, temperature sensor
* HVAC
* Appliance
This also applies to specific functions below actuating function.https://labs.etsi.org/rep/saref/saref-core/-/issues/42extension for lifts2020-03-11T14:07:03ZMaxime Lefrançoisextension for liftssqmdkfb
sqgvlqsbg
sqvlsqbv
smknsqmdkfb
sqgvlqsbg
sqvlsqbv
smknhttps://labs.etsi.org/rep/saref/saref-core/-/issues/43Need CI/CD for SAREF Pipeline2024-03-05T10:00:27ZMaxime LefrançoisNeed CI/CD for SAREF Pipelinehttps://labs.etsi.org/rep/saref/saref-core/-/issues/44Issues in examples Clause 9.6.42024-03-05T09:53:22ZMaxime LefrançoisIssues in examples Clause 9.6.4## SAREF v3.1.1 for example washingmachine - Issues in TS 103 673 Clause 9.6.4
The dataset in the example document shall satisfy the OWL2 DL profile. Violations are:
- Use of undeclared annotation property: <http://www.w3.org/2006/tim...## SAREF v3.1.1 for example washingmachine - Issues in TS 103 673 Clause 9.6.4
The dataset in the example document shall satisfy the OWL2 DL profile. Violations are:
- Use of undeclared annotation property: <http://www.w3.org/2006/time#inXSDDateTime> in annotation [Annotation(<http://www.w3.org/2006/time#inXSDDateTime> "2015-03-17T12:30:51.116"^^xsd:dateTime) in AnnotationAssertion(<http://www.w3.org/2006/time#inXSDDateTime> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Instant_2> "2015-03-17T12:30:51.116"^^xsd:dateTime)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasOutputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/StartState>) in AnnotationAssertion(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/StartService> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/StartState>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasConsumption> in annotation [Annotation(<https://saref.etsi.org/core/hasConsumption> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Power_value2>) in AnnotationAssertion(<https://saref.etsi.org/core/hasConsumption> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Profile_1> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Power_value2>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/contains> in annotation [Annotation(<https://saref.etsi.org/core/contains> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/WashingMachine_WM802>) in AnnotationAssertion(<https://saref.etsi.org/core/contains> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/BuildingSpace_LaundryRoom> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/WashingMachine_WM802>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/isLocatedIn> in annotation [Annotation(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/BuildingSpace_LaundryRoom>) in AnnotationAssertion(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/WashingMachine_WM802> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/BuildingSpace_LaundryRoom>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/isFlexible> in annotation [Annotation(<https://saref.etsi.org/core/isFlexible> "true"^^xsd:boolean) in AnnotationAssertion(<https://saref.etsi.org/core/isFlexible> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Profile_1> "true"^^xsd:boolean)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasCategory> in annotation [Annotation(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/Appliance>) in AnnotationAssertion(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/WashingMachine_WM802> <https://saref.etsi.org/core/Appliance>)]
- Use of undeclared annotation property: <http://www.w3.org/2006/time#hasBeginning> in annotation [Annotation(<http://www.w3.org/2006/time#hasBeginning> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Instant_1>) in AnnotationAssertion(<http://www.w3.org/2006/time#hasBeginning> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Interval_1> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Instant_1>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/isInterruptionPossible> in annotation [Annotation(<https://saref.etsi.org/core/isInterruptionPossible> "false"^^xsd:boolean) in AnnotationAssertion(<https://saref.etsi.org/core/isInterruptionPossible> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Profile_1> "false"^^xsd:boolean)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasInputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/StopState>) in AnnotationAssertion(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/StartService> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/StopState>)]
- Use of undeclared annotation property: <http://www.w3.org/2006/time#inXSDDateTime> in annotation [Annotation(<http://www.w3.org/2006/time#inXSDDateTime> "2015-03-17T11:10:50.53"^^xsd:dateTime) in AnnotationAssertion(<http://www.w3.org/2006/time#inXSDDateTime> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Instant_1> "2015-03-17T11:10:50.53"^^xsd:dateTime)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasCategory> in annotation [Annotation(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/Load>) in AnnotationAssertion(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/WashingMachine_WM802> <https://saref.etsi.org/core/Load>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasSpaceType> in annotation [Annotation(<https://saref.etsi.org/core/hasSpaceType> "Laundry room"^^xsd:string) in AnnotationAssertion(<https://saref.etsi.org/core/hasSpaceType> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/BuildingSpace_LaundryRoom> "Laundry room"^^xsd:string)]
- Use of undeclared annotation property: <http://www.w3.org/2006/time#hasEnd> in annotation [Annotation(<http://www.w3.org/2006/time#hasEnd> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Instant_2>) in AnnotationAssertion(<http://www.w3.org/2006/time#hasEnd> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Interval_1> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Instant_2>)]
- Use of undeclared class: <https://saref.etsi.org/core/Load> [SubClassOf(<https://saref.etsi.org/core/v3.1.1/example/washingmachine/WashingMachine> <https://saref.etsi.org/core/Load>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/washingmachine#>) VersionIRI(<null>))]
- Use of undeclared class: <http://www.w3.org/2006/time#Instant> [ClassAssertion(<http://www.w3.org/2006/time#Instant> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Instant_2>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/washingmachine#>) VersionIRI(<null>))]
- Use of undeclared class: <https://saref.etsi.org/core/BuildingSpace> [ClassAssertion(<https://saref.etsi.org/core/BuildingSpace> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/BuildingSpace_LaundryRoom>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/washingmachine#>) VersionIRI(<null>))]
- Use of undeclared class: <http://www.w3.org/2006/time#Interval> [ClassAssertion(<http://www.w3.org/2006/time#Interval> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Interval_1>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/washingmachine#>) VersionIRI(<null>))]
- Use of undeclared class: <http://www.w3.org/2006/time#Instant> [ClassAssertion(<http://www.w3.org/2006/time#Instant> <https://saref.etsi.org/core/v3.1.1/example/washingmachine/Instant_1>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/washingmachine#>) VersionIRI(<null>))]
## SAREF v3.1.1 for example doorswitch - Issues in TS 103 673 Clause 9.6.4
The dataset in the example document shall satisfy the OWL2 DL profile. Violations are:
- Use of undeclared class: <https://saref.etsi.org/core/BuildingSpace> [ClassAssertion(<https://saref.etsi.org/core/BuildingSpace> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingSpace_OfficeHall>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/doorswitch#>) VersionIRI(<null>))]
- Use of undeclared class: <https://saref.etsi.org/core/Door> [ClassAssertion(<https://saref.etsi.org/core/Door> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingObject_MainDoor>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/doorswitch#>) VersionIRI(<null>))]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasOutputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/CloseState>) in AnnotationAssertion(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/CloseDoorService> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/CloseState>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasCategory> in annotation [Annotation(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/Actuator>) in AnnotationAssertion(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/DoorSwitch_DS001> <https://saref.etsi.org/core/Actuator>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/isLocatedIn> in annotation [Annotation(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingSpace_OfficeHall>) in AnnotationAssertion(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/DoorSwitch_DS001> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingSpace_OfficeHall>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasInputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/OpenState>) in AnnotationAssertion(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/CloseDoorService> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/OpenState>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/IsUsedFor> in annotation [Annotation(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingObject_MainDoor>) in AnnotationAssertion(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/DoorSwitch_DS001> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingObject_MainDoor>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/contains> in annotation [Annotation(<https://saref.etsi.org/core/contains> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingObject_MainDoor>) in AnnotationAssertion(<https://saref.etsi.org/core/contains> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingSpace_OfficeHall> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingObject_MainDoor>)]
- Use of undeclared annotation property: <http://www.w3.org/2003/01/geo/wgs84_pos#lat> in annotation [Annotation(<http://www.w3.org/2003/01/geo/wgs84_pos#lat> "52.0821"^^xsd:string) in AnnotationAssertion(<http://www.w3.org/2003/01/geo/wgs84_pos#lat> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingSpace_OfficeHall> "52.0821"^^xsd:string)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasSpaceType> in annotation [Annotation(<https://saref.etsi.org/core/hasSpaceType> "Office hall"^^xsd:string) in AnnotationAssertion(<https://saref.etsi.org/core/hasSpaceType> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingSpace_OfficeHall> "Office hall"^^xsd:string)]
- Use of undeclared annotation property: <http://www.w3.org/2003/01/geo/wgs84_pos#long> in annotation [Annotation(<http://www.w3.org/2003/01/geo/wgs84_pos#long> "4.3251"^^xsd:string) in AnnotationAssertion(<http://www.w3.org/2003/01/geo/wgs84_pos#long> <https://saref.etsi.org/core/v3.1.1/example/doorswitch/BuildingSpace_OfficeHall> "4.3251"^^xsd:string)]
## SAREF v3.1.1 for example multimedia - Issues in TS 103 673 Clause 9.6.4
The dataset in the example document shall satisfy the OWL2 DL profile. Violations are:
- Use of undeclared class: <https://saref.etsi.org/core/FunctionRelated> [SubClassOf(<https://saref.etsi.org/core/v3.1.1/example/multimedia/Multimedia> <https://saref.etsi.org/core/FunctionRelated>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/multimedia#>) VersionIRI(<null>))]
## SAREF v3.1.1 for example lightswitch - Issues in TS 103 673 Clause 9.6.4
The dataset in the example document shall satisfy the OWL2 DL profile. Violations are:
- Use of undeclared class: <https://saref.etsi.org/core/FunctionRelated> [SubClassOf(<https://saref.etsi.org/core/v3.1.1/example/lightswitch/LightingDevice> <https://saref.etsi.org/core/FunctionRelated>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/lightswitch#>) VersionIRI(<null>))]
- Use of undeclared class: <https://saref.etsi.org/core/BuildingSpace> [ClassAssertion(<https://saref.etsi.org/core/BuildingSpace> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/BuildingSpace_OfficeHall>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/lightswitch#>) VersionIRI(<null>))]
- Use of undeclared annotation property: <https://saref.etsi.org/core/isLocatedIn> in annotation [Annotation(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/BuildingSpace_OfficeHall>) in AnnotationAssertion(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/LightSwitch_LS1001> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/BuildingSpace_OfficeHall>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasInputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/OffState>) in AnnotationAssertion(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/SwitchOnService> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/OffState>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasOutputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/OnState>) in AnnotationAssertion(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/SwitchOnService> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/OnState>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/IsUsedFor> in annotation [Annotation(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/Light>) in AnnotationAssertion(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/LightSwitch_LS1001> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/Light>)]
- Use of undeclared annotation property: <http://www.w3.org/2003/01/geo/wgs84_pos#lat> in annotation [Annotation(<http://www.w3.org/2003/01/geo/wgs84_pos#lat> "52.0821"^^xsd:string) in AnnotationAssertion(<http://www.w3.org/2003/01/geo/wgs84_pos#lat> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/BuildingSpace_OfficeHall> "52.0821"^^xsd:string)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasCategory> in annotation [Annotation(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/Actuator>) in AnnotationAssertion(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/LightSwitch_LS1001> <https://saref.etsi.org/core/Actuator>)]
- Use of undeclared annotation property: <http://www.w3.org/2003/01/geo/wgs84_pos#long> in annotation [Annotation(<http://www.w3.org/2003/01/geo/wgs84_pos#long> "4.3251"^^xsd:string) in AnnotationAssertion(<http://www.w3.org/2003/01/geo/wgs84_pos#long> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/BuildingSpace_OfficeHall> "4.3251"^^xsd:string)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasSpaceType> in annotation [Annotation(<https://saref.etsi.org/core/hasSpaceType> "Office hall"^^xsd:string) in AnnotationAssertion(<https://saref.etsi.org/core/hasSpaceType> <https://saref.etsi.org/core/v3.1.1/example/lightswitch/BuildingSpace_OfficeHall> "Office hall"^^xsd:string)]
org.semanticweb.owlapi.util.OWLAnnotationPropertyTransformer.transformObject(OWLAnnotationPropertyTransformer.java:190) - ERROR - org.semanticweb.owlapi.util.OWLAnnotationPropertyTransformer - Attempt to transform an axiom to correct misuse of properties failed. Property replacement: {<https://saref.etsi.org/core/hasSensorType>=<https://saref.etsi.org/core/hasSensorType>}, axiom: AnnotationAssertion(<https://saref.etsi.org/core/hasSensorType> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/SensingFunction> "Temperature"^^xsd:string), error: uk.ac.manchester.cs.owl.owlapi.OWLLiteralImplString cannot be cast to org.semanticweb.owlapi.model.IRI
## SAREF v3.1.1 for example temperaturesensor - Issues in TS 103 673 Clause 9.6.4
The dataset in the example document shall satisfy the OWL2 DL profile. Violations are:
- Use of undeclared annotation property: <https://saref.etsi.org/core/isLocatedIn> in annotation [Annotation(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingSpace_HotelRoom>) in AnnotationAssertion(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/TemperatureSensor_TS2001> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingSpace_HotelRoom>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasSensorType> in annotation [Annotation(<https://saref.etsi.org/core/hasSensorType> "Temperature"^^xsd:string) in AnnotationAssertion(<https://saref.etsi.org/core/hasSensorType> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/SensingFunction> "Temperature"^^xsd:string)]
- Cannot pun between properties: <https://saref.etsi.org/core/hasSensorType> [AnnotationAssertion(<https://saref.etsi.org/core/hasSensorType> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/SensingFunction> "Temperature"^^xsd:string) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/temperaturesensor#>) VersionIRI(<null>))]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasSpaceType> in annotation [Annotation(<https://saref.etsi.org/core/hasSpaceType> "Hotel room"^^xsd:string) in AnnotationAssertion(<https://saref.etsi.org/core/hasSpaceType> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingSpace_HotelRoom> "Hotel room"^^xsd:string)]
- Use of undeclared annotation property: <http://www.w3.org/2003/01/geo/wgs84_pos#lat> in annotation [Annotation(<http://www.w3.org/2003/01/geo/wgs84_pos#lat> "52.0705"^^xsd:string) in AnnotationAssertion(<http://www.w3.org/2003/01/geo/wgs84_pos#lat> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingSpace_HotelRoom> "52.0705"^^xsd:string)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasOutputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/Temperature>) in AnnotationAssertion(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/SenseTemperature> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/Temperature>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasInputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/Temperature>) in AnnotationAssertion(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/SenseTemperature> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/Temperature>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasCategory> in annotation [Annotation(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/Sensor>) in AnnotationAssertion(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/TemperatureSensor_TS2001> <https://saref.etsi.org/core/Sensor>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/contains> in annotation [Annotation(<https://saref.etsi.org/core/contains> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingObject_window>) in AnnotationAssertion(<https://saref.etsi.org/core/contains> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingSpace_HotelRoom> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingObject_window>)]
- Use of undeclared annotation property: <http://www.w3.org/2003/01/geo/wgs84_pos#long> in annotation [Annotation(<http://www.w3.org/2003/01/geo/wgs84_pos#long> "4.30070"^^xsd:string) in AnnotationAssertion(<http://www.w3.org/2003/01/geo/wgs84_pos#long> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingSpace_HotelRoom> "4.30070"^^xsd:string)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/IsUsedFor> in annotation [Annotation(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/Temperature>) in AnnotationAssertion(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/TemperatureSensor_TS2001> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/Temperature>)]
- Use of undeclared class: <https://saref.etsi.org/core/Window> [ClassAssertion(<https://saref.etsi.org/core/Window> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingObject_Window>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/temperaturesensor#>) VersionIRI(<null>))]
- Use of undeclared class: <https://saref.etsi.org/core/BuildingSpace> [ClassAssertion(<https://saref.etsi.org/core/BuildingSpace> <https://saref.etsi.org/core/v3.1.1/example/temperaturesensor/BuildingSpace_HotelRoom>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/temperaturesensor#>) VersionIRI(<null>))]
org.semanticweb.owlapi.util.OWLAnnotationPropertyTransformer.transformObject(OWLAnnotationPropertyTransformer.java:190) - ERROR - org.semanticweb.owlapi.util.OWLAnnotationPropertyTransformer - Attempt to transform an axiom to correct misuse of properties failed. Property replacement: {<https://saref.etsi.org/core/hasSensorType>=<https://saref.etsi.org/core/hasSensorType>}, axiom: AnnotationAssertion(<https://saref.etsi.org/core/hasSensorType> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SensingFunction> "Smoke"^^xsd:string), error: uk.ac.manchester.cs.owl.owlapi.OWLLiteralImplString cannot be cast to org.semanticweb.owlapi.model.IRI
## SAREF v3.1.1 for example smokesensor - Issues in TS 103 673 Clause 9.6.4
The dataset in the example document shall satisfy the OWL2 DL profile. Violations are:
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasInputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke>) in AnnotationAssertion(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SmokeAlarm> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasInputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke>) in AnnotationAssertion(<https://saref.etsi.org/core/hasInputParameter> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SenseSmoke> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasCategory> in annotation [Annotation(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/Sensor>) in AnnotationAssertion(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SmokeSensor_SS4001> <https://saref.etsi.org/core/Sensor>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasSensorType> in annotation [Annotation(<https://saref.etsi.org/core/hasSensorType> "Smoke"^^xsd:string) in AnnotationAssertion(<https://saref.etsi.org/core/hasSensorType> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SensingFunction> "Smoke"^^xsd:string)]
- Cannot pun between properties: <https://saref.etsi.org/core/hasSensorType> [AnnotationAssertion(<https://saref.etsi.org/core/hasSensorType> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SensingFunction> "Smoke"^^xsd:string) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/smokesensor#>) VersionIRI(<null>))]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasSpaceType> in annotation [Annotation(<https://saref.etsi.org/core/hasSpaceType> "Hotel room"^^xsd:string) in AnnotationAssertion(<https://saref.etsi.org/core/hasSpaceType> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/BuildingSpace_HotelRoom> "Hotel room"^^xsd:string)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/isLocatedIn> in annotation [Annotation(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/BuildingSpace_HotelRoom>) in AnnotationAssertion(<https://saref.etsi.org/core/isLocatedIn> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SmokeSensor_SS4001> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/BuildingSpace_HotelRoom>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/IsUsedFor> in annotation [Annotation(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke>) in AnnotationAssertion(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SmokeSensor_SS4001> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke>)]
- Use of undeclared annotation property: <http://www.w3.org/2003/01/geo/wgs84_pos#long> in annotation [Annotation(<http://www.w3.org/2003/01/geo/wgs84_pos#long> "4.30070"^^xsd:string) in AnnotationAssertion(<http://www.w3.org/2003/01/geo/wgs84_pos#long> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/BuildingSpace_HotelRoom> "4.30070"^^xsd:string)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/contains> in annotation [Annotation(<https://saref.etsi.org/core/contains> <http://ontology.tno.nl/saref/tempsensor#BuildingObject_window>) in AnnotationAssertion(<https://saref.etsi.org/core/contains> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/BuildingSpace_HotelRoom> <http://ontology.tno.nl/saref/tempsensor#BuildingObject_window>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasOutputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Audio>) in AnnotationAssertion(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SmokeAlarm> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Audio>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasThreshold> in annotation [Annotation(<https://saref.etsi.org/core/hasThreshold> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke_threshold_value>) in AnnotationAssertion(<https://saref.etsi.org/core/hasThreshold> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/EventFunction> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke_threshold_value>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasOutputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke>) in AnnotationAssertion(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/SenseSmoke> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/Smoke>)]
- Use of undeclared annotation property: <http://www.w3.org/2003/01/geo/wgs84_pos#lat> in annotation [Annotation(<http://www.w3.org/2003/01/geo/wgs84_pos#lat> "52.0705"^^xsd:string) in AnnotationAssertion(<http://www.w3.org/2003/01/geo/wgs84_pos#lat> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/BuildingSpace_HotelRoom> "52.0705"^^xsd:string)]
- Use of undeclared class: <https://saref.etsi.org/core/Window> [ClassAssertion(<https://saref.etsi.org/core/Window> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/BuildingObject_Window>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/smokesensor#>) VersionIRI(<null>))]
- Use of undeclared class: <https://saref.etsi.org/core/BuildingSpace> [ClassAssertion(<https://saref.etsi.org/core/BuildingSpace> <https://saref.etsi.org/core/v3.1.1/example/smokesensor/BuildingSpace_HotelRoom>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/smokesensor#>) VersionIRI(<null>))]
org.semanticweb.owlapi.util.OWLAnnotationPropertyTransformer.transformObject(OWLAnnotationPropertyTransformer.java:190) - ERROR - org.semanticweb.owlapi.util.OWLAnnotationPropertyTransformer - Attempt to transform an axiom to correct misuse of properties failed. Property replacement: {<https://saref.etsi.org/core/hasMeterReadingType>=<https://saref.etsi.org/core/hasMeterReadingType>}, axiom: AnnotationAssertion(<https://saref.etsi.org/core/hasMeterReadingType> <https://saref.etsi.org/core/v3.1.1/example/energymeter/MeteringFunction> "Energy"^^xsd:string), error: uk.ac.manchester.cs.owl.owlapi.OWLLiteralImplString cannot be cast to org.semanticweb.owlapi.model.IRI
## SAREF v3.1.1 for example energymeter - Issues in TS 103 673 Clause 9.6.4
The dataset in the example document shall satisfy the OWL2 DL profile. Violations are:
- Use of undeclared class: <http://www.w3.org/2006/time#Instant> [ClassAssertion(<http://www.w3.org/2006/time#Instant> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Instant_1>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/energymeter#>) VersionIRI(<null>))]
- Use of undeclared class: <https://saref.etsi.org/core/EnergyMeter> [ClassAssertion(<https://saref.etsi.org/core/EnergyMeter> <https://saref.etsi.org/core/v3.1.1/example/energymeter/EnergyMeter_EM5004>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/energymeter#>) VersionIRI(<null>))]
- Use of undeclared annotation property: <http://www.w3.org/2006/time#inXSDDateTime> in annotation [Annotation(<http://www.w3.org/2006/time#inXSDDateTime> "2015-03-17T11:10:50.53"^^xsd:dateTime) in AnnotationAssertion(<http://www.w3.org/2006/time#inXSDDateTime> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Instant_1> "2015-03-17T11:10:50.53"^^xsd:dateTime)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasMeterReadingTime> in annotation [Annotation(<https://saref.etsi.org/core/hasMeterReadingTime> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Time_value1>) in AnnotationAssertion(<https://saref.etsi.org/core/hasMeterReadingTime> <https://saref.etsi.org/core/v3.1.1/example/energymeter/MeteringFunction> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Time_value1>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasMeterReadingType> in annotation [Annotation(<https://saref.etsi.org/core/hasMeterReadingType> "Energy"^^xsd:string) in AnnotationAssertion(<https://saref.etsi.org/core/hasMeterReadingType> <https://saref.etsi.org/core/v3.1.1/example/energymeter/MeteringFunction> "Energy"^^xsd:string)]
- Cannot pun between properties: <https://saref.etsi.org/core/hasMeterReadingType> [AnnotationAssertion(<https://saref.etsi.org/core/hasMeterReadingType> <https://saref.etsi.org/core/v3.1.1/example/energymeter/MeteringFunction> "Energy"^^xsd:string) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/energymeter#>) VersionIRI(<null>))]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasOutputParameter> in annotation [Annotation(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Energy>) in AnnotationAssertion(<https://saref.etsi.org/core/hasOutputParameter> <https://saref.etsi.org/core/v3.1.1/example/energymeter/MeasureEnergyService> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Energy>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasMeterReadingValue> in annotation [Annotation(<https://saref.etsi.org/core/hasMeterReadingValue> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Energy_value1>) in AnnotationAssertion(<https://saref.etsi.org/core/hasMeterReadingValue> <https://saref.etsi.org/core/v3.1.1/example/energymeter/MeteringFunction> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Energy_value1>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/IsUsedFor> in annotation [Annotation(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Energy>) in AnnotationAssertion(<https://saref.etsi.org/core/IsUsedFor> <https://saref.etsi.org/core/v3.1.1/example/energymeter/EnergyMeter_EM5004> <https://saref.etsi.org/core/v3.1.1/example/energymeter/Energy>)]
- Use of undeclared annotation property: <https://saref.etsi.org/core/hasCategory> in annotation [Annotation(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/Meter>) in AnnotationAssertion(<https://saref.etsi.org/core/hasCategory> <https://saref.etsi.org/core/v3.1.1/example/energymeter/EnergyMeter_EM5004> <https://saref.etsi.org/core/Meter>)]
- Use of undeclared class: <https://saref.etsi.org/core/FunctionRelated> [SubClassOf(<https://saref.etsi.org/core/v3.1.1/example/energymeter/MicroRenewable> <https://saref.etsi.org/core/FunctionRelated>) in OntologyID(OntologyIRI(<https://saref.etsi.org/core/v3.1.1/example/energymeter#>) VersionIRI(<null>))]
## Coherence of terms definition and usage in SAREF
- The following terms are exemplified in SAREF v3.1.1, but not defined in sources: saref:hasMeterReadingValue, saref:Window, saref:hasConsumption, saref:BuildingSpace, saref:IsUsedFor, saref:watt_hour, saref:Load, saref:hasOutputParameter, saref:Door, saref:FunctionRelated, saref:hasSpaceType, saref:EnergyMeter, saref:hasInputParameter, saref:isFlexible, saref:hasCategory, saref:hasThreshold, saref:isInterruptionPossible, saref:hasMeterReadingTime, saref:isLocatedIn, saref:contains
## Coherence of terms definition and usage in SAREF
- The following terms are defined by SAREF v3.1.1, but not exemplified in this version: saref:hasMeterReading, saref:Coal, saref:StepDownCommand, saref:isPropertyOf, saref:HVAC, saref:isMeasuredByDevice, saref:OnOffState, saref:Commodity, saref:hasTimestamp, saref:Comfort, saref:Function, saref:LevelControlFunction, saref:controlsProperty, saref:SetRelativeLevelCommand, saref:Device, saref:SetLevelCommand, saref:hasProperty, saref:WellBeing, saref:hasSensingRange, saref:isControlledByDevice, saref:GetMeterHistoryCommand, saref:Water, saref:relatesToProperty, saref:GetSensingDataCommand, saref:hasThresholdMeasurement, saref:Motion, saref:OpenCloseState, saref:Humidity, saref:measuresProperty, saref:isMeasurementOf, saref:GetMeterDataCommand, saref:ToggleCommand, saref:Measurement, saref:Command, saref:Electricity, saref:isUsedFor, saref:EnergyEfficiency, saref:measurementMadeBy, saref:State, saref:hasMeasurement, saref:StepUpCommand, saref:FeatureOfInterest, saref:Pressure, saref:relatesToMeasurement, saref:Lighting, saref:hasTime, saref:isAbout, saref:makesMeasurement, saref:Entertainment, saref:Drying, saref:MultiLevelState, saref:Occupancy, saref:ActuatingFunction, saref:SetAbsoluteLevelCommand, saref:Cleaning, saref:Gas, saref:PauseCommand, saref:MeterReadinghttps://labs.etsi.org/rep/saref/saref-core/-/issues/45Wrong figure in documentation2020-07-17T08:21:31ZRaul Garcia-CastroWrong figure in documentationBUG spotted by Anna Lin (UGent-imec) Anna.Lin@UGent.be
Whilst reading your documentation (https://saref.etsi.org/core/v3.1.1/) I noticed that the Figure 3 mentioned there shows the exactly same content as Figure 2 (and from the descript...BUG spotted by Anna Lin (UGent-imec) Anna.Lin@UGent.be
Whilst reading your documentation (https://saref.etsi.org/core/v3.1.1/) I noticed that the Figure 3 mentioned there shows the exactly same content as Figure 2 (and from the description of the text I think it should show the device types (actuators, sensors, meters and appliances).https://labs.etsi.org/rep/saref/saref-core/-/issues/46saref:hasMeasurement is duplicated in the OWL code2020-09-15T09:23:19ZRaul Garcia-Castrosaref:hasMeasurement is duplicated in the OWL codeReported by a user of the ontologyReported by a user of the ontologyhttps://labs.etsi.org/rep/saref/saref-core/-/issues/47saref:hasMeasurement is duplicated in the OWL code2024-03-05T09:53:01ZLaurent Velezsaref:hasMeasurement is duplicated in the OWL codeThe object property saref:hasMeasurement is defined twice in the owl code, line 126 and line 165The object property saref:hasMeasurement is defined twice in the owl code, line 126 and line 165https://labs.etsi.org/rep/saref/saref-core/-/issues/50Typo in rdfs:label2024-03-05T10:00:52ZHelen RawsthorneTypo in rdfs:labelIncorrect `rdfs:label` on line 767 in file https://labs.etsi.org/rep/saref/saref-core/-/blob/develop-v3.2.1/ontology/saref.ttl
```turtle
saref:hasPropertyKind a owl:ObjectProperty ;
rdfs:label "has feature kind"@en ;
rdfs:commen...Incorrect `rdfs:label` on line 767 in file https://labs.etsi.org/rep/saref/saref-core/-/blob/develop-v3.2.1/ontology/saref.ttl
```turtle
saref:hasPropertyKind a owl:ObjectProperty ;
rdfs:label "has feature kind"@en ;
rdfs:comment "links a property of interest to its kind, a property."@en ;
rdfs:domain saref:PropertyOfInterest ;
rdfs:range saref:Property .
```