Skip to content
saref.ttl 80.2 KiB
Newer Older
#         [ a owl:Restriction ;
#         owl:onProperty saref:isMeasuredIn ;
#         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
#         owl:onClass saref:UnitOfMeasure
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:relatesToProperty ;
#         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
#         owl:onClass saref:Property
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasTimestamp ;
#         owl:allValuesFrom xsd:dateTime
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasValue ;
#         owl:cardinality "1"^^xsd:nonNegativeInteger
#         ] ;
#     rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ;
#     rdfs:label "Measurement"@en .

# saref:hasMeasurement a owl:ObjectProperty ;
#     rdfs:comment "A relationship between a feature of interest and a measurement about it"@en ;
#     rdfs:domain saref:FeatureOfInterest ;
#     rdfs:range saref:Measurement ;
#     rdfs:label "has measurement"@en .

# saref:isMeasurementOf a owl:ObjectProperty ;
#     owl:inverseOf saref:hasMeasurement ;
#     rdfs:comment "A relationship between a measurement and the feature of interest whose quality was measured"@en ;
#     rdfs:domain saref:Measurement ;
#     rdfs:range saref:FeatureOfInterest ;
#     rdfs:label "isMeasurementOf"@en .

# saref:makesMeasurement a owl:ObjectProperty ;
#     owl:inverseOf saref:measurementMadeBy ;
#     rdfs:comment "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."@en ;
#     rdfs:domain saref:Device ;
#     rdfs:range saref:Measurement ;
#     rdfs:label "makes measurement"@en .

# saref:measurementMadeBy a owl:ObjectProperty ;
#     rdfs:comment "A relation between a measurement and the device that made it."@en ;
#     rdfs:domain saref:Measurement ;
#     rdfs:range saref:Device ;
#     rdfs:label "measurement made by"@en .

# saref:relatesToMeasurement a owl:ObjectProperty ;
#     rdfs:comment "A relationship between a property and the measurements it relates to"@en ;
#     rdfs:domain saref:Property ;
#     rdfs:range saref:Measurement ;
#     rdfs:label "relates to measurement"@en .

# saref:relatesToProperty a owl:ObjectProperty ;
#     owl:inverseOf saref:relatesToMeasurement ;
#     rdfs:comment "A relationship between a measurement and the property it relates to"@en ;
#     rdfs:domain saref:Measurement ;
#     rdfs:range saref:Property ;
#     rdfs:label "relates to property"@en .


# # ETSI TS 103264 Clause 5.12: Profiles

# saref:Profile a owl:Class ;
#     rdfs:subClassOf [ a owl:Restriction ;
#         owl:onProperty saref:consistsOf ;
#         owl:allValuesFrom saref:Profile
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasPrice ;
#         owl:allValuesFrom saref:Price
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasTime ;
#         owl:allValuesFrom saref:Time
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isAbout ;
#         owl:allValuesFrom [ a owl:Class ; owl:unionOf ( saref:Commodity saref:Property ) ]
#         ] ;
#     rdfs:comment "A specification associated to a device to collect information about a certain Property (e.g., Energy) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property (saref:isAbout), can be calculated over a time span (saref:hasTime) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located."@en ;
#     rdfs:label "Profile"@en .

# saref:hasProfile a owl:ObjectProperty ;
#     rdfs:comment "A relationship associating a profile to a certain device"@en ;
#     rdfs:domain saref:Device ;
#     rdfs:range saref:Profile ;
#     rdfs:label "has profile"@en .

# saref:isAbout a owl:ObjectProperty ;
#     rdfs:comment "A relationship identifying what an entity, such as a profile, is about"@en ;
#     rdfs:label "isAbout"@en .


# # Deprecated

# saref:hasSensingRange a owl:ObjectProperty ;
#     rdfs:comment "A relationship between a sensing function and a measurement identifying the range of a sensor detection"@en ;
#     rdfs:domain saref:SensingFunction ;
#     rdfs:range saref:Measurement ;
#     rdfs:label "has sensing range"@en .

# saref:hasSensorType a owl:ObjectProperty ;
#     rdfs:comment "A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) "@en ;
#     rdfs:domain saref:SensingFunction ;
#     rdfs:range saref:Property ; 
#     rdfs:label "has sensor type"@en .
# saref:hasTypicalConsumption a owl:ObjectProperty ;
#     rdfs:comment "A relationship identifying the typical (energy or power) consumption of a device"@en ;
#     rdfs:label "has typical consumption"@en .

# saref:hasTime a owl:ObjectProperty ;
#     rdfs:comment "A relationship to associate time information to an entity"@en ;
#     rdfs:range saref:Time ;
#     rdfs:label "has time"@en .

# saref:Time a owl:Class ;
#     owl:deprecated true ;
#     rdfs:comment "A class that allows to specify the time concept."@en ;
#     rdfs:label "Time"@en .


# # Example related to sensors

# saref:Sensor a owl:Class ;
#     rdfs:subClassOf saref:Device ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasFunction ;
#         owl:someValuesFrom saref:SensingFunction
#         ] ;
#     rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction."@en ;
#     rdfs:label "Sensor"@en .

# saref:SensingFunction a owl:Class ;
#     rdfs:subClassOf saref:Function ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasSensingRange ;
#         owl:someValuesFrom saref:Measurement
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasSensorType ;
#         owl:allValuesFrom saref:Property
#         ] ;
#     rdfs:comment "A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)"@en ;
#     rdfs:label "Sensing function"@en .

# saref:GetSensingDataCommand a owl:Class ;
#     rdfs:subClassOf saref:GetCommand ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isCommandOf ;
#         owl:allValuesFrom saref:SensingFunction
#         ] ;
#     rdfs:comment "A type of get command"@en ;
#     rdfs:label "Get sensing data command"@en .

# # Example related to events

# saref:EventFunction a owl:Class ;
#     rdfs:subClassOf saref:Function ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:hasThresholdMeasurement ;
#             owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
#             owl:onClass saref:Measurement
#         ] ;
#     rdfs:comment "A function that allows to notify about some relevant activity; e.g., that a certain threshold value has been exceeded or that some object has moved."@en ;
#     rdfs:label "Event function"@en .

# saref:hasThresholdMeasurement a owl:ObjectProperty ;
#     rdfs:comment "A relationship associated with an event function to notify that a certain threshold measurement has been exceeded"@en ;
#     rdfs:domain saref:EventFunction ;
#     rdfs:range saref:Measurement ;
#     rdfs:label "has threshold measurement"@en .


# # Example related to meters

# saref:Meter a owl:Class ;
#     rdfs:subClassOf saref:Device ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:hasFunction ;
#             owl:someValuesFrom saref:MeteringFunction
#         ] ;
#     rdfs:comment "A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction."@en ;
#     rdfs:label "Meter"@en .
# saref:MeteringFunction a owl:Class ;
#     rdfs:subClassOf saref:Function ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:hasMeterReading ;
#             owl:allValuesFrom saref:Measurement
#         ] ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:hasMeterReadingType ;
#             owl:allValuesFrom [ a owl:Class ; owl:unionOf ( saref:Commodity saref:Property ) ]
#         ] ;
#     rdfs:comment "A function that allows to get data from a meter, such as current meter reading or instantaneous demand"@en ;
#     rdfs:label "Metering function"@en .

# saref:hasMeterReading a owl:ObjectProperty ;
#     rdfs:comment "A relationship between a metering function and the measurement of the reading"@en ;
#     rdfs:domain saref:MeteringFunction ;
#     rdfs:range saref:Measurement ;
#     rdfs:label "has meter reading"@en .

# saref:hasMeterReadingType a owl:ObjectProperty ;
#     rdfs:comment "A relationship identifying the reading type of a metering function (e.g., Water, Gas, Pressure , Energy , Power, etc.)"@en ;
#     rdfs:domain saref:MeteringFunction ;
#     rdfs:range saref:Property ;
#     rdfs:label "has meter reading type"@en .

# saref:GetCurrentMeterValueCommand a owl:Class ;
#     rdfs:subClassOf saref:GetCommand ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isCommandOf ;
#         owl:allValuesFrom saref:MeteringFunction
#         ] ;
#     rdfs:comment "A type of get command"@en ;
#     rdfs:label "Get current meter value command"@en .

# saref:GetMeterDataCommand a owl:Class ;
#     rdfs:subClassOf saref:GetCommand ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isCommandOf ;
#         owl:allValuesFrom saref:MeteringFunction
#         ] ;
#     rdfs:comment "A type of get command"@en ;
#     rdfs:label "Get meter data command"@en .

# saref:GetMeterHistoryCommand a owl:Class ;
#     rdfs:subClassOf saref:GetCommand ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isCommandOf ;
#         owl:allValuesFrom saref:MeteringFunction
#         ] ;
#     rdfs:comment "A type of get command"@en ;
#     rdfs:label "Get meter history command"@en .

# # Example related to level control

# saref:MultiLevelState a owl:Class ;
#     rdfs:subClassOf saref:State ;
#     rdfs:comment "A type of state"@en ;
#     rdfs:label "Multi level state"@en .

# saref:LevelControlFunction a owl:Class ;
#     rdfs:subClassOf saref:ActuatingFunction ;
#     rdfs:comment "An actuating function that allows to do level adjustments of a property in a certain range (e.g., 0%-100%), such as dimming a light in a room or setting the speed of an electric motor. "@en ;
#     rdfs:label "Level control function"@en .

# saref:SetAbsoluteLevelCommand a owl:Class ;
#     rdfs:subClassOf saref:SetLevelCommand ;
#     rdfs:comment "A type of set level command"@en ;
#     rdfs:label "Set absolute level command"@en .

# saref:SetRelativeLevelCommand a owl:Class ;
#     rdfs:subClassOf saref:SetLevelCommand ;
#     rdfs:comment "A type of set level command"@en ;
#     rdfs:label "Set relative level command"@en .

# saref:SetLevelCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:actsUpon ;
#         owl:someValuesFrom saref:MultiLevelState
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isCommandOf ;
#         owl:allValuesFrom saref:LevelControlFunction
#         ] ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Set level command"@en .

# saref:StepDownCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:actsUpon ;
#         owl:someValuesFrom saref:MultiLevelState
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isCommandOf ;
#         owl:allValuesFrom saref:LevelControlFunction
#         ] ;
#     owl:disjointWith saref:StepUpCommand ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Step down command"@en .
# saref:StepUpCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:actsUpon ;
#             owl:someValuesFrom saref:MultiLevelState
#         ] ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:isCommandOf ;
#             owl:allValuesFrom saref:LevelControlFunction
#         ] ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Step up command"@en .

# # Example related to smoke

# saref:Smoke a owl:Class ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke"@en ;
#     rdfs:label "Smoke"@en .

# saref:SmokeSensor a owl:Class ;
#     rdfs:subClassOf saref:Sensor ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasFunction ;
#         owl:someValuesFrom saref:EventFunction
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasFunction ;
#         owl:someValuesFrom saref:SensingFunction
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:measuresProperty ;
#         owl:someValuesFrom saref:Smoke
#         ] ;
#     rdfs:comment "A sensor that performs the saref:SensingFunction and the saref:EventFunction, and is used for the purpose of sensing a property of type saref:Smoke. A saref:SmokeSensor is typically used to saref:accomplish saref:Safety."@en ;
#     rdfs:label "Smoke sensor"@en .


# # Example related to start/stop/pause

# saref:StartState a owl:Class ;
#     rdfs:subClassOf saref:StartStopState ;
#     rdfs:comment "The state of a device that is STARTED"@en ;
#     rdfs:label "Start state"@en .
# saref:StartStopState a owl:Class ;
#     rdfs:subClassOf saref:State ;
#     rdfs:comment "A type of state"@en ;
#     rdfs:label "Start stop state"@en .
# saref:StopState a owl:Class ;
#     rdfs:subClassOf saref:StartStopState ;
#     rdfs:comment "The state of a device that is STOPPED"@en ;
#     rdfs:label "Stop state"@en .

# saref:PauseCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Pause command"@en .

# saref:StartCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:actsUpon ;
#             owl:someValuesFrom saref:StartStopState
#         ] ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:isCommandOf ;
#             owl:allValuesFrom saref:StartStopFunction
#         ] ;
#     owl:disjointWith saref:StopCommand ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Start command"@en .
# saref:StopCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:actsUpon ;
#         owl:someValuesFrom saref:StartStopState
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isCommandOf ;
#         owl:allValuesFrom saref:StartStopFunction
#         ] ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Stop command"@en .

# saref:StartStopFunction a owl:Class ;
#     rdfs:subClassOf saref:ActuatingFunction ;
#     rdfs:comment "An actuating function that allows to start and stop a device"@en ;
#     rdfs:label "Start stop function"@en .    
# # Example related to open/close

# saref:CloseState a owl:Class ;
#     rdfs:subClassOf saref:OpenCloseState ;
#     rdfs:comment "The state of a device that is CLOSE"@en ;
#     rdfs:label "Close state"@en .

# saref:OpenCloseState a owl:Class ;
#     rdfs:subClassOf saref:State ;
#     rdfs:comment "A type of state"@en ;
#     rdfs:label "Open close state"@en .

# saref:OpenState a owl:Class ;
#     rdfs:subClassOf saref:OpenCloseState ;
#     rdfs:comment "The state of a device that is OPEN "@en ;
#     rdfs:label "Open state"@en .

# saref:OpenCloseFunction a owl:Class ;
#     rdfs:subClassOf saref:ActuatingFunction ;
#     rdfs:comment "An actuating function that allows to open and close a device"@en ;
#     rdfs:label "Open close function"@en .

# saref:CloseCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:actsUpon ;
#             owl:someValuesFrom saref:OpenCloseState
#         ] ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:isCommandOf ;
#             owl:allValuesFrom saref:OpenCloseFunction
#         ] ;
#     owl:disjointWith saref:OpenCommand ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Close command"@en .

# saref:OpenCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:actsUpon ;
#         owl:someValuesFrom saref:OpenCloseState
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isCommandOf ;
#         owl:allValuesFrom saref:OpenCloseFunction
#         ] ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Open command"@en .

# # Example related to on/off

# saref:OffState a owl:Class ;
#     rdfs:subClassOf saref:OnOffState ;
#     rdfs:comment "The state of a device that is Off"@en ;
#     rdfs:label "Off state"@en .

# saref:OnOffState a owl:Class ;
#     rdfs:subClassOf saref:State ;
#     rdfs:comment "A type of state"@en ;
#     rdfs:label "On off state"@en .

# saref:OnState a owl:Class ;
#     rdfs:subClassOf saref:OnOffState ;
#     rdfs:comment "The state of a device that is On"@en ;
#     rdfs:label "On state"@en .

# saref:OnCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:actsUpon ;
#             owl:someValuesFrom saref:OnOffState
#         ] ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:isCommandOf ;
#             owl:allValuesFrom saref:OnOffFunction
#         ] ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "On command"@en .

# saref:OffCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:actsUpon ;
#         owl:someValuesFrom saref:OnOffState
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isCommandOf ;
#         owl:allValuesFrom saref:OnOffFunction
#         ] ;
#     owl:disjointWith saref:OnCommand ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Off command"@en .

# saref:OnOffFunction a owl:Class ;
#     rdfs:subClassOf saref:ActuatingFunction ;
#     rdfs:comment "An actuating function that allows to switch on and off an actuator"@en ;
#     rdfs:label "On off function"@en .

# # Example related to motion

# saref:Motion a owl:Class ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion"@en ;
#     rdfs:label "Motion"@en .

# # Example related to occupancy

# saref:Occupancy a owl:Class ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy"@en ;
#     rdfs:label "Occupancy"@en .

# # Example related to notification

# saref:NotifyCommand a owl:Class ;
#     rdfs:subClassOf saref:Command ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:isCommandOf ;
#             owl:allValuesFrom saref:EventFunction
#         ] ;
#     rdfs:comment "A type of command"@en ;
#     rdfs:label "Notify command"@en .



# # Example related to switch

# saref:Switch a owl:Class ;
#     rdfs:subClassOf saref:Actuator ;
#     rdfs:comment "A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction"@en ;
#     rdfs:label "Switch"@en .

# saref:SwitchOnService a owl:Class ;
#     rdfs:subClassOf saref:Service ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:isOfferedBy ;
#         owl:someValuesFrom saref:LightSwitch
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:represents ;
#         owl:someValuesFrom saref:OnOffFunction
#         ] ;
#     rdfs:comment "A type of service that represents an on/off function to the network"@en ;
#     rdfs:label "Switch on service"@en .

# # Example related to energy and power

# saref:Energy a owl:Class ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. "@en ;
#     rdfs:label "Energy"@en .

# saref:EnergyUnit a owl:Class ;
#     rdfs:subClassOf saref:UnitOfMeasure ;
#     rdfs:comment "The unit of measure for energy"@en ;
#     rdfs:label "Energy unit"@en .

# saref:Power a owl:Class ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt).  Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined."@en ;
#     rdfs:label "Power"@en .

# saref:PowerUnit a owl:Class ;
#     rdfs:subClassOf saref:UnitOfMeasure ;
#     rdfs:comment "The unit of measure for power"@en ;
#     rdfs:label "Power unit"@en .

# # Example related to pressure

# saref:Pressure a owl:Class ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)"@en ;
#     rdfs:label "Pressure"@en .

# saref:PressureUnit a owl:Class ;
#     rdfs:subClassOf saref:UnitOfMeasure ;
#     rdfs:comment "The unit of measure for pressure"@en ;
#     rdfs:label "Pressure unit"@en .


# # Example related to price

# saref:hasPrice a owl:ObjectProperty ;
#     rdfs:comment "A relationship indentifying the price associated to an entity"@en ;
#     rdfs:range saref:Price ;
#     rdfs:label "has price"@en .

# saref:Price a owl:Class ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency"@en ;
#     rdfs:label "Price"@en .
# saref:Currency a owl:Class ;
#     rdfs:subClassOf saref:UnitOfMeasure ;
#     rdfs:comment "The class of units of measure for price"@en ;
#     rdfs:label "Currency"@en .

# # Example related to temperature

# saref:Temperature a owl:Class ;
#     owl:deprecated true ;
#     skos:note "In future major revision of SAREF, this entity will be a named individual, instance of saref:Property."@en ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)"@en ;
#     rdfs:label "Temperature"@en .

# saref:TemperatureSensor a owl:Class ;
#     rdfs:subClassOf saref:Sensor ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:hasFunction ;
#             owl:someValuesFrom saref:SensingFunction
#         ] ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:measuresProperty ;
#             owl:someValuesFrom saref:Temperature
#         ] ;
#     rdfs:comment "A sensor that is used for the purpose of sensing a property of type saref:Temperature. A saref:TemperatureSensor is typically used to saref:accomplish saref:Comfort."@en ;
#     rdfs:label "Temperature sensor"@en .

# saref:TemperatureUnit a owl:Class ;
#     owl:deprecated true ;
#     rdfs:subClassOf saref:UnitOfMeasure ;
#     rdfs:comment "The unit of measure for temperature"@en ;
#     rdfs:label "Temperature unit"@en .


# # Example related to humidity

# saref:Humidity a owl:Class ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit"@en ;
#     rdfs:label "Humidity"@en .


# # Example related to Actuator

# saref:Actuator a owl:Class ;
#     rdfs:subClassOf saref:Device ,
#         [ a owl:Restriction ;
#             owl:onProperty saref:hasFunction ;
#             owl:someValuesFrom saref:ActuatingFunction
#         ] ;
#     rdfs:comment "A device responsible for moving or controlling a mechanism or system by performing an actuating function"@en ;
#     rdfs:label "Actuator"@en .

# saref:ActuatingFunction a owl:Class ;
#     rdfs:subClassOf saref:Function ;
#     rdfs:comment "A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)"@en ;
#     rdfs:label "Actuating function"@en .

# # Example related to Appliance

# # Example related to HVAC

# saref:HVAC a owl:Class ;
#     rdfs:subClassOf saref:Device ;
#     rdfs:comment "Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort. A saref:HVAC is typically used to accomplish saref:Comfort."@en ;
#     rdfs:label "HVAC"@en .

# # Example related to light switch

# saref:IlluminanceUnit a owl:Class ;
#     rdfs:subClassOf saref:UnitOfMeasure ;
#     rdfs:comment "The unit of measure for light"@en ;
#     rdfs:label "Illuminance unit"@en .

# saref:Light a owl:Class ;
#     rdfs:subClassOf saref:Property ;
#     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)"@en ;
#     rdfs:label "Light"@en .

# saref:LightSwitch a owl:Class ;
#     rdfs:subClassOf saref:Switch ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasFunction ;
#         owl:someValuesFrom saref:OnOffFunction
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasState ;
#         owl:someValuesFrom saref:OnOffState
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:controlsProperty ;
#         owl:someValuesFrom saref:Light
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:offers ;
#         owl:someValuesFrom saref:SwitchOnService
#         ] ;
# rdfs:comment "A switch that performs the saref:OnOffFunction, controls the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service. A saref:LightSwitch is typically used to accomplish saref:Lighting."@en ;
#     rdfs:label "Light switch"@en .

# # Example related to door switch

# saref:DoorSwitch a owl:Class ;
#     rdfs:subClassOf saref:Switch ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasFunction ;
#         owl:someValuesFrom saref:OpenCloseFunction
#         ] ,
#         [ a owl:Restriction ;
#         owl:onProperty saref:hasState ;
#         owl:someValuesFrom saref:OpenCloseState
#         ] ;
#     rdfs:comment "A switch that performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState. A saref:DoorSwitch is typically used to accomplish saref:Safety."@en ;
#     rdfs:label "Door switch"@en .




# # NEW

# saref:hasIdentifier a owl:DatatypeProperty ;
#   skos:note "See https://labs.etsi.org/rep/saref/saref-portal/-/issues/2" .