Draft: Issue 9

This is a draft MR. started to implement what's in the change log of ts V2.1.1

Merge request reports

Loading
+1 −0
Changes for documentation/creators.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
- [Laura Daniele](https://www.linkedin.com/in/lauradaniele) ([TNO](https://tno.nl/))
- [Giulia Biagioni](https://www.linkedin.com/in/giulia-biagioni) ([TNO](https://tno.nl/))
- [Cornelis Bouter](https://www.linkedin.com/in/bouterca) ([TNO](https://tno.nl))
+2 −2
Changes for documentation/description.md: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ This extension adds several properties to the existing [saref:Device](https://sa

#### <a id="4.2.3.0"></a>Foreword

The SAREF4ENER extension defines different energy flexibility profiles that can be offered by a [saref:Device](https://saref.etsi.org/core/Device). They are: [s4ener:PowerProfile](#s4ener:PowerProfile), [s4ener:PowerLimitProfile](#s4ener:PowerLimitProfile), [s4ener:DemandDrivenProfile](#s4ener:DemandDrivenProfile), [s4ener:OperationModeProfile](#s4ener:OperationModeProfile), [s4ener:FillRateBasedProfile](#s4ener:FillRateBasedProfile), [s4ener:IncentiveTableBasedProfile](#s4ener:IncentiveTableBasedProfile), and [s4ener:PowerEnvelopeProfile](#s4ener:PowerEnvelopeProfile). They are all subclasses of [s4ener:FlexibilityProfile](#s4ener:FlexibilityProfile) which is in turn a subclass of [saref:Profile](https://saref.etsi.org/core/Profile). 
The SAREF4ENER extension defines different energy flexibility profiles that can be offered by a [saref:Device](https://saref.etsi.org/core/Device). They are: [s4ener:PowerProfile](#s4ener:PowerProfile), [s4ener:PowerLimitProfile](#s4ener:PowerLimitProfile), [s4ener:DemandDrivenProfile](#s4ener:DemandDrivenProfile), [s4ener:OperationModeProfile](#s4ener:OperationModeProfile), [s4ener:FillRateBasedProfile](#s4ener:FillRateBasedProfile), [s4ener:IncentiveTableProfile](#s4ener:IncentiveTableProfile), and [s4ener:PowerEnvelopeProfile](#s4ener:PowerEnvelopeProfile). They are all subclasses of [s4ener:FlexibilityProfile](#s4ener:FlexibilityProfile) which is in turn a subclass of [saref:Profile](https://saref.etsi.org/core/Profile). 


<figure>
@@ -95,7 +95,7 @@ The [s4ener:FillRateBasedProfile](#s4ener:FillRateBasedProfile) can be used for

#### <a id="4.2.3.4"></a>Incentive Table Based Profile

The [s4ener:IncentiveTableBasedProfile](#s4ener:IncentiveTableBasedProfile) can be used to describe an incentive table, compiled of incentive table slots ([s4ener:IncentiveTableSlot](#s4ener:IncentiveTableSlot)) as well as a power plan ([s4ener:PowerPlan](#s4ener:PowerPlan)). Both are used to negotiate the allocation of upcoming energy usage of a device between the energy manager and the device. The incentive table is used by the energy manager to express the availability of energy via real and/or artificial incentives or costs over time. The device itself uses the table to negotiate the own demand and request the allocation by sending the resulting power plan to the energy manager.
The [s4ener:IncentiveTableProfile](#s4ener:IncentiveTableProfile) can be used to describe an incentive table, compiled of incentive table slots ([s4ener:IncentiveTableSlot](#s4ener:IncentiveTableSlot)) as well as a power plan ([s4ener:PowerPlan](#s4ener:PowerPlan)). Both are used to negotiate the allocation of upcoming energy usage of a device between the energy manager and the device. The incentive table is used by the energy manager to express the availability of energy via real and/or artificial incentives or costs over time. The device itself uses the table to negotiate the own demand and request the allocation by sending the resulting power plan to the energy manager.

Incentive types can be expressed in the form of relative costs ([s4ener:RelativeCost](#s4ener:RelativeCost)), absolute costs ([s4ener:AbsoluteCost](#s4ener:AbsoluteCost)), CO2 emissions ([s4ener:CO2Emission](#s4ener:CO2Emission)), and renewable energy percentage ([s4ener:RenewableEnergyPercentage](#s4ener:RenewableEnergyPercentage)). An incentive table also defines a scope type ([s4ener:ScopeType](#s4ener:ScopeType)) to indicate whether it is a preliminary ([s4ener:Preliminary](#s4ener:Preliminary)) or committed version ([s4ener:Committed](#s4ener:Committed)).

+44 −35
Changes for examples/demandDrivenProfile.ttl: 44 added lines, 35 removed lines.
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@
  rdfs:label "Demand driven profile 1" ;
.
:HeatPump rdf:type saref:Actuator ;
  saref:isUsedFor :Electricity ;
  saref:consumes s4ener:Electricity ;
  s4ener:hasOperationMode :OperationMode_1 ;
  s4ener:hasTransition :Transition_1 ;
  s4ener:hasTimer :Timer_1 ;
@@ -53,20 +53,20 @@

:NumberRange_1
  a s4ener:NumberRange ;
  s4ener:endOfRange :Observation_1 ; 
  s4ener:startOfRange :Observation_2 ; 
  s4ener:endOfRange :PropertyValue_1 ; 
  s4ener:startOfRange :PropertyValue_2 ; 
  rdfs:label "Number range 1" ;
. 
:Observation_1
  a saref:Observation ;
:PropertyValue_1
  a saref:PropertyValue ;
  saref:hasValue "2500"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.
:Observation_2
  a saref:Observation ;
:PropertyValue_2
  a saref:PropertyValue ;
  saref:hasValue "2000"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
.

@@ -74,59 +74,59 @@
### Operation modes and related concepts ###
############################################

:OperationMode_1 rdf:type s4ener:OperationMode, saref:OffState ;
:OperationMode_1 rdf:type s4ener:OperationMode ;
  rdfs:label "off" ;
  s4ener:hasPowerRange :PowerRange_1 ;
  s4ener:hasSupplyRange :NumberRange_2 ;
  s4ener:hasRunningCosts :Observation_7 ;
  s4ener:hasRunningCosts :PropertyValue_7 ;
  s4ener:abnormalConditionOnly "false"^^xsd:boolean ;
.

:Observation_7 rdf:type saref:Observation ;
:PropertyValue_7 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Price_1 ;
  saref:isValueOfProperty :Price ;
  saref:isMeasuredIn <https://spec.edmcouncil.org/fibo/ontology/FND/Accounting/ISO4217-CurrencyCodes/EUR> ;
.

:PowerRange_1 rdf:type s4ener:PowerRange ;
  s4ener:relatesToCommodityQuantity s4ener:ElectricPowerL1 ;
  s4ener:relatesToCommodity s4ener:ElectricPowerL1 ;
  s4ener:hasNumberRange :NumberRange_3 ;
.

:NumberRange_3 rdf:type s4ener:NumberRange ;
  s4ener:endOfRange :Observation_5 ;
  s4ener:startOfRange :Observation_6 ;
  s4ener:endOfRange :PropertyValue_5 ;
  s4ener:startOfRange :PropertyValue_6 ;
  rdfs:label "Number range 3" ;
.

:Observation_5 rdf:type saref:Observation ;
:PropertyValue_5 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.

:Observation_6 rdf:type saref:Observation ;
:PropertyValue_6 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.

:NumberRange_2 rdf:type s4ener:NumberRange ;
  rdfs:label "Supply range";
  s4ener:endOfRange :Observation_3 ; 
  s4ener:startOfRange :Observation_4 ; 
  s4ener:endOfRange :PropertyValue_3 ; 
  s4ener:startOfRange :PropertyValue_4 ; 
  rdfs:label "Number range 2" ;
.

:Observation_3 rdf:type saref:Observation ;
:PropertyValue_3 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.

:Observation_4 rdf:type saref:Observation ;
:PropertyValue_4 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.

@@ -150,31 +150,40 @@
  rdfs:label "Average demand rate forecast" ;
.
:DataPoint_1
  a s4ener:DataPoint ;
  a s4ener:DataPoint, saref:Observation ;
  rdfs:label "Data point 1" ;
  saref:hasTimestamp "2023-01-29T14:40:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_1_PropVal 
  a saref:PropertyValue ;
  saref:hasValue "2000" ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
.  
:DataPoint_2
  a s4ener:DataPoint ;
  a s4ener:DataPoint, saref:Observation ;
  rdfs:label "Data point 2" ;
  saref:hasTimestamp "2023-01-29T14:45:00Z"^^xsd:dateTimeStamp ;
  saref:hasResult :DataPoint_2_PropVal ;
.  
:DataPoint_2_PropVal 
  a saref:PropertyValue ;  
  saref:hasValue "2500" ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
.
:DataPoint_3
  a s4ener:DataPoint ;
  a s4ener:DataPoint, saref:Observation ;
  rdfs:label "Data point 3" ;
  saref:hasTimestamp "2023-01-29T15:00:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_3_PropVal
  a saref:PropertyValue ;
  saref:hasValue "2000" ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
.
:Price_1 rdf:type saref:Price .
:Power_1 rdf:type saref:Power .
:Electricity rdf:type saref:Electricity .

:Price rdf:type saref:Property .

dcterms:abstract a owl:AnnotationProperty .
+43 −44
Changes for examples/fillRateProfile.ttl: 43 added lines, 44 removed lines.
Original line number Diff line number Diff line
@@ -37,12 +37,11 @@
.

:PresentFillLevel_1
  a saref:Observation ;
  a saref:PropertyValue ;
  saref:hasValue "60"^^xsd:decimal ;
  saref:isMeasuredIn unit:PERCENT ;
  saref:relatesToProperty :Energy_1 ;
  saref:isValueOfProperty s4ener:Energy ;
.
:Power_1 a saref:Power .

:FillLevelTargetProfileElement_1
  a s4ener:FillLevelTargetProfileElement ;
@@ -74,8 +73,6 @@
#########################

:LeakageBehaviour_1
  # change to TimeSeries???
  # !!!change to TimeSeries difficult, because the x-axis is not time, but the fill level range
  a s4ener:LeakageBehaviour ;
  s4ener:hasLeakageBehaviourElement :LeakageBehaviourElement_1 ;
  s4ener:hasLeakageBehaviourElement :LeakageBehaviourElement_2 ;
@@ -85,50 +82,52 @@
:LeakageBehaviourElement_1
  a s4ener:LeakageBehaviourElement ;
  s4ener:hasFillLevelRange :NumberRange_1 ;
  s4ener:leakageRate :DataPoint_11 ; #"10"^^xsd:decimal ; # todo: make Observation
  s4ener:leakageRate :DataPoint_11 ; #"10"^^xsd:decimal ; 
  rdfs:label "Leakage behaviour element 1" ;
.
:DataPoint_11 rdf:type s4ener:DataPoint . # todo: extend
:DataPoint_11 rdf:type saref:PropertyValue .

:LeakageBehaviourElement_2
  a s4ener:LeakageBehaviourElement ;
  s4ener:hasFillLevelRange :NumberRange_2 ;
  s4ener:leakageRate :DataPoint_12 ; # "20"^^xsd:decimal ; # todo: make Observation
  s4ener:leakageRate :DataPoint_12 ; # "20"^^xsd:decimal ; 
  rdfs:label "Leakage behaviour element 2" ;
.
:DataPoint_12 rdf:type s4ener:DataPoint .

:NumberRange_1
  a s4ener:NumberRange ;
  s4ener:endOfRange :Observation_1 ; #"25"^^xsd:decimal ;
  s4ener:startOfRange :Observation_2 ; #"15"^^xsd:decimal ;
  s4ener:endOfRange :PropertyValue_1 ; #"25"^^xsd:decimal ;
  s4ener:startOfRange :PropertyValue_2 ; #"15"^^xsd:decimal ;
  rdfs:label "Number range 1" ;
.
:Observation_1
  a saref:Observation ;
  saref:relatesToProperty :Energy_1 ;
:PropertyValue_1
  a saref:PropertyValue ;
  saref:isValueOfProperty s4ener:Energy ;
  saref:hasValue "25"^^xsd:decimal ;
  saref:isMeasuredIn om:kilowatt ;
.
:Observation_2
  a saref:Observation ;
  saref:relatesToProperty :Energy_1 ;
:PropertyValue_2
  a saref:PropertyValue ;
  saref:isValueOfProperty s4ener:Energy ;
  saref:hasValue "15"^^xsd:decimal ;
  saref:isMeasuredIn om:kilowatt ;
.
:NumberRange_2
  a s4ener:NumberRange ;
  s4ener:endOfRange :Observation_3 ; #"35"^^xsd:decimal ;
  s4ener:startOfRange :Observation_4 ; #"25"^^xsd:decimal ;
  s4ener:endOfRange :PropertyValue_3 ; #"35"^^xsd:decimal ;
  s4ener:startOfRange :PropertyValue_4 ; #"25"^^xsd:decimal ;
  rdfs:label "Number range 2" ;
.
:Observation_3
  a saref:Observation ;
  saref:relatesToProperty :Energy_1 ;
:PropertyValue_3
  a saref:PropertyValue ;
  saref:isValueOfProperty s4ener:Energy ;
  saref:hasValue "35"^^xsd:decimal ;
  saref:isMeasuredIn om:kilowatt ;
.
:Observation_4
  a saref:Observation ;
  saref:relatesToProperty :Energy_1 ;
:PropertyValue_4
  a saref:PropertyValue ;
  saref:isValueOfProperty s4ener:Energy ;
  saref:hasValue "25"^^xsd:decimal ;
  saref:isMeasuredIn om:kilowatt ;
.
@@ -149,28 +148,28 @@
:DataPoint_7 
  a s4ener:DataPoint ;
  saref:hasValue "1000"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
  saref:hasTimestamp "2023-01-29T10:00:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_8 
  a s4ener:DataPoint ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
  saref:hasTimestamp "2023-01-29T14:00:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_9 
  a s4ener:DataPoint ;
  saref:hasValue "1500"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
  saref:hasTimestamp "2023-01-29T15:00:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_10 
  a s4ener:DataPoint ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
  saref:hasTimestamp "2023-01-29T16:00:00Z"^^xsd:dateTimeStamp ;
.
@@ -180,7 +179,7 @@
########################################

:HeatPump rdf:type saref:Actuator ;
  saref:isUsedFor :Electricity ;
  saref:consumes :Electricity ;
  s4ener:hasOperationMode :OperationMode_1 ;
  s4ener:hasTransition :Transition_1 ;
  s4ener:hasTimer :Timer_1 ;
@@ -190,7 +189,7 @@
  s4ener:hasTransitionTimestamp "2023-01-29T16:55:00Z"^^xsd:dateTimeStamp ;
.

:OperationMode_1 rdf:type s4ener:OperationMode, saref:OffState ;
:OperationMode_1 rdf:type s4ener:OperationMode ;
  rdfs:label "off" ;
  s4ener:hasOperationModeElement :OperationModeElement_1 ;
  s4ener:abnormalConditionOnly "false"^^xsd:boolean ;
@@ -207,15 +206,15 @@
  rdfs:label "Fill level range for Operation Mode Element 1" ;
.

:StartOfRange_3 rdf:type s4ener:DataPoint ;
:StartOfRange_3 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Occupancy ;
  saref:isValueOfProperty :Occupancy ;
  saref:isMeasuredIn om:percent ;
.

:EndOfRange_3 rdf:type s4ener:DataPoint ;
:EndOfRange_3 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Occupancy ;
  saref:isValueOfProperty :Occupancy ;
  saref:isMeasuredIn om:percent ;
.

@@ -225,20 +224,20 @@
  rdfs:label "Fill rate" ;
.

:StartOfRange_4 rdf:type s4ener:DataPoint ;
:StartOfRange_4 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Motion ;
  saref:isValueOfProperty :Motion ;
  saref:isMeasuredIn om:percent ;
.

:EndOfRange_4 rdf:type s4ener:DataPoint ;
:EndOfRange_4 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Motion ;
  saref:isValueOfProperty :Motion ;
  saref:isMeasuredIn om:percent ;
.

:PowerRange_1 rdf:type s4ener:PowerRange ;
  s4ener:relatesToCommodityQuantity s4ener:ElectricPowerL1 ;
  s4ener:relatesToCommodity s4ener:ElectricPowerL1 ;
  s4ener:hasNumberRange :NumberRange_5 ;
.

@@ -248,16 +247,16 @@
  rdfs:label "Power range" ;
.

:StartOfRange_5 rdf:type s4ener:DataPoint ;
:StartOfRange_5 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:isMeasuredIn om:watt ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
.

:StartOfRange_6 rdf:type s4ener:DataPoint ;
:StartOfRange_6 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:isMeasuredIn om:watt ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
.

:Transition_1 rdf:type s4ener:Transition ;
@@ -268,6 +267,6 @@
  rdfs:comment "See the OperationModeProfile examples for an extensive example containing multiple instances of the Transition class." ;
.  
  
:Occupancy rdf:type saref:Occupancy .
:Occupancy rdf:type saref:Property .

dcterms:abstract a owl:AnnotationProperty .
 No newline at end of file
+71 −77
Changes for examples/heatingSystemPowerProfile.ttl: 71 added lines, 77 removed lines.
Original line number Diff line number Diff line
@prefix ex: <https://saref.etsi.org/saref4ener/v2.1.1/example/heatingSystemPowerProfile/> .
@prefix : <https://saref.etsi.org/saref4ener/v2.1.1/example/heatingSystemPowerProfile/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@@ -18,174 +18,168 @@
  dcterms:license <https://forge.etsi.org/etsi-software-license> ;
.

dcterms:abstract a owl:AnnotationProperty .
time:Instant a owl:Class .
time:DateTimeInterval a owl:Class .
time:inXSDDateTime a owl:DatatypeProperty .
time:hasBeginning a owl:ObjectProperty .
time:hasEnd a owl:ObjectProperty .

ex:Beginning_PowerProfile-1-HS0001
:Beginning_PowerProfile-1-HS0001
  rdf:type time:Instant ;
  rdfs:label "Beginning Power profile-1-HS0001"^^xsd:string ;
  time:inXSDDateTime "2016-12-15T00:01:01.01"^^xsd:dateTime ;
.
ex:Beginning_PowerSequence-HS0001_afternoon
:Beginning_PowerSequence-HS0001_afternoon
  rdf:type time:Instant ;
  rdfs:label "Beginning Power sequence-HS0001 afternoon"^^xsd:string ;
  time:inXSDDateTime "2016-12-15T15:30:00.00"^^xsd:dateTime ;
.
ex:Beginning_PowerSequence-HS0001_morning
:Beginning_PowerSequence-HS0001_morning
  rdf:type time:Instant ;
  rdfs:label "Beginning Power sequence-HS0001 morning"^^xsd:string ;
  time:inXSDDateTime "2016-12-15T08:45:00.00"^^xsd:dateTime ;
.
ex:DateTimeInterval_PowerProfile-1-HS0001
:DateTimeInterval_PowerProfile-1-HS0001
  rdf:type time:DateTimeInterval ;
  rdfs:label "Date time interval Power profile-1-HS0001"^^xsd:string ;
  time:hasBeginning ex:Beginning_PowerProfile-1-HS0001 ;
  time:hasEnd ex:End_PowerProfile-1-HS0001 ;
  time:hasBeginning :Beginning_PowerProfile-1-HS0001 ;
  time:hasEnd :End_PowerProfile-1-HS0001 ;
.
ex:End_PowerProfile-1-HS0001
:End_PowerProfile-1-HS0001
  rdf:type time:Instant ;
  rdfs:label "End Power profile-1-HS0001"^^xsd:string ;
  time:inXSDDateTime "2016-12-15T00:23:59.59"^^xsd:dateTime ;
.
ex:End_PowerSequence-HS0001_afternoon
:End_PowerSequence-HS0001_afternoon
  rdf:type time:Instant ;
  rdfs:label "End Power sequence-HS0001 afternoon"^^xsd:string ;
  time:inXSDDateTime "2016-12-15T00:18:00.00"^^xsd:dateTime ;
.
ex:End_PowerSequence-HS0001_morning
:End_PowerSequence-HS0001_morning
  rdf:type time:Instant ;
  rdfs:label "End Power sequence-HS0001 morning"^^xsd:string ;
  time:inXSDDateTime "2016-12-15T00:12:00.00"^^xsd:dateTime ;
.
ex:PowerSequence-HS0001_afternoon
:PowerSequence-HS0001_afternoon
  rdf:type time:DateTimeInterval ;
  rdfs:label "Power sequence-HS0001 afternoon"^^xsd:string ;
  time:hasBeginning ex:Beginning_PowerSequence-HS0001_afternoon ;
  time:hasEnd ex:End_PowerSequence-HS0001_afternoon ;
  time:hasBeginning :Beginning_PowerSequence-HS0001_afternoon ;
  time:hasEnd :End_PowerSequence-HS0001_afternoon ;
.
ex:PowerSequence-HS0001_morning
:PowerSequence-HS0001_morning
  rdf:type time:DateTimeInterval ;
  rdfs:label "Power sequence-HS0001 morning"^^xsd:string ;
  time:hasBeginning ex:Beginning_PowerSequence-HS0001_morning ;
  time:hasEnd ex:End_PowerSequence-HS0001_morning ;
  time:hasBeginning :Beginning_PowerSequence-HS0001_morning ;
  time:hasEnd :End_PowerSequence-HS0001_morning ;
.
ex:AlternativesGroup-1-HS0001
:AlternativesGroup-1-HS0001
  rdf:type s4ener:AlternativesGroup ;
  rdfs:label "Alternatives group-1-HS0001"^^xsd:string ;
  saref:consistsOf ex:PowerSequence-1-HS0001 ;
  s4ener:alternativesGroupID 1 ;
  s4ener:belongsTo ex:PowerProfile-1-HS0001 ;
  saref:consistsOf :PowerSequence-1-HS0001 ;
  saref:hasIdentifier "1"^^xsd:decimal ;
  s4ener:belongsTo :PowerProfile-1-HS0001 ;
.
ex:AlternativesGroup-2-HS0001
:AlternativesGroup-2-HS0001
  rdf:type s4ener:AlternativesGroup ;
  rdfs:label "Alternatives group-2-HS0001"^^xsd:string ;
  saref:consistsOf ex:PowerSequence-2-HS0001 ;
  saref:consistsOf ex:PowerSequence-3-HS0001 ;
  s4ener:alternativesGroupID 2 ;
  s4ener:belongsTo ex:PowerProfile-1-HS0001 ;
.
ex:Energy_1
  rdf:type s4ener:Energy ;
  rdfs:label "Energy 1"^^xsd:string ;
  saref:isMeasuredByDevice ex:HeatingSystem ;
  saref:consistsOf :PowerSequence-2-HS0001 ;
  saref:consistsOf :PowerSequence-3-HS0001 ;
  saref:hasIdentifier "2"^^xsd:decimal ;
  s4ener:belongsTo :PowerProfile-1-HS0001 ;
.
ex:Heating
:Heating
  rdf:type saref:Task ;
  rdfs:label "Heating"^^xsd:string ;
.
ex:HeatingSystem
  rdf:type s4ener:Device ;
:HeatingSystem
  rdf:type saref:Device ;
  rdfs:label "Heating system"^^xsd:string ;
  saref:accomplishes saref:EnergyEfficiency ;
  saref:accomplishes ex:Heating ;
  saref:hasDescription "Heating system HS0001 is an example of how to instantiate a heating system with hot water tank using SAREF4ENER"^^xsd:string ;
.
ex:Observation_1
  rdf:type saref:Observation ;
  rdfs:label "Observation 1"^^xsd:string ;
  saref:accomplishes :Heating ;
  rdfs:comment "Heating system HS0001 is an example of how to instantiate a heating system with hot water tank using SAREF4ENER"^^xsd:string ;
  saref:consumes s4ener:Energy, s4ener:Power ;
  saref:observes s4ener:Energy, s4ener:Power ;
.
:PropertyValue_1
  rdf:type saref:PropertyValue ;
  rdfs:label "Property Value 1"^^xsd:string ;
  saref:hasValue "0.2"^^xsd:string ;
  saref:isMeasuredIn <http://www.ontology-of-units-of-measure.org/resource/om-2/kilowatt_hour> ;
  saref:relatesToProperty ex:Energy_1 ;
  saref:isValueOfProperty s4ener:Energy ;
.
ex:Observation_2
  rdf:type saref:Observation ;
  rdfs:label "Observation 2"^^xsd:string ;
:PropertyValue_2
  rdf:type saref:PropertyValue ;
  rdfs:label "Property Value 2"^^xsd:string ;
  saref:hasValue "0.2"^^xsd:string ;
  saref:isMeasuredIn <http://www.ontology-of-units-of-measure.org/resource/om-2/kilowatt> ;
  saref:relatesToProperty ex:Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
.
ex:PowerProfile-1-HS0001
:PowerProfile-1-HS0001
  rdf:type s4ener:PowerProfile ;
  rdfs:label "Power profile-1-HS0001"^^xsd:string ;
  saref:consistsOf ex:AlternativesGroup-1-HS0001 ;
  saref:consistsOf ex:AlternativesGroup-2-HS0001 ;
  saref:hasTime ex:Time_PowerProfile-1-HS0001 ;
  s4ener:alternativesCount 2 ;
  s4ener:belongsTo ex:HeatingSystem ;
  saref:consistsOf :AlternativesGroup-1-HS0001 ;
  saref:consistsOf :AlternativesGroup-2-HS0001 ;
  s4ener:hasEffectivePeriod :Time_PowerProfile-1-HS0001 ;
  s4ener:belongsTo :HeatingSystem ;
  s4ener:nodeRemoteControllable "true"^^xsd:boolean ;
  s4ener:supportsReselection "true"^^xsd:boolean ;
  s4ener:supportsSingleSlotSchedulingOnly "true"^^xsd:boolean ;
  s4ener:totalSequencesCountMax "1"^^xsd:unsignedInt ;
.
ex:PowerSequence-1-HS0001
:PowerSequence-1-HS0001
  rdf:type s4ener:PowerSequence ;
  rdfs:label "Power sequence-1-HS0001"^^xsd:string ;
  saref:consistsOf ex:Slot-1-HS0001 ;
  saref:hasTime ex:PowerSequence-HS0001_morning ;
  s4ener:belongsTo ex:AlternativesGroup-1-HS0001 ;
  saref:consistsOf :Slot-1-HS0001 ;
  s4ener:hasEffectivePeriod :PowerSequence-HS0001_morning ;
  s4ener:belongsTo :AlternativesGroup-1-HS0001 ;
  s4ener:isPausable "false"^^xsd:boolean ;
  s4ener:isStoppable "false"^^xsd:boolean ;
.
ex:PowerSequence-2-HS0001
:PowerSequence-2-HS0001
  rdf:type s4ener:PowerSequence ;
  rdfs:label "Power sequence-2-HS0001"^^xsd:string ;
  saref:consistsOf ex:Slot-2-HS0001 ;
  saref:hasTime ex:PowerSequence-HS0001_afternoon ;
  s4ener:belongsTo ex:AlternativesGroup-2-HS0001 ;
  saref:consistsOf :Slot-2-HS0001 ;
  s4ener:hasEffectivePeriod :PowerSequence-HS0001_afternoon ;
  s4ener:belongsTo :AlternativesGroup-2-HS0001 ;
  s4ener:greenest "true"^^xsd:boolean ;
  s4ener:isPausable "false"^^xsd:boolean ;
  s4ener:isStoppable "false"^^xsd:boolean ;
.
ex:PowerSequence-3-HS0001
:PowerSequence-3-HS0001
  rdf:type s4ener:PowerSequence ;
  rdfs:label "Power sequence-3-HS0001"^^xsd:string ;
  saref:consistsOf ex:Slot-3-HS0001 ;
  saref:hasTime ex:PowerSequence-HS0001_afternoon ;
  s4ener:belongsTo ex:AlternativesGroup-2-HS0001 ;
  saref:consistsOf :Slot-3-HS0001 ;
  s4ener:hasEffectivePeriod :PowerSequence-HS0001_afternoon ;
  s4ener:belongsTo :AlternativesGroup-2-HS0001 ;
  s4ener:cheapest "true"^^xsd:boolean ;
  s4ener:isPausable "false"^^xsd:boolean ;
  s4ener:isStoppable "false"^^xsd:boolean ;
.
ex:Power_1
  rdf:type s4ener:Power ;
:Power
  rdf:type saref:Property ;
  rdfs:label "Power 1"^^xsd:string ;
  saref:isMeasuredByDevice ex:HeatingSystem ;
.
ex:Slot-1-HS0001
:Slot-1-HS0001
  rdf:type s4ener:Slot ;
  rdfs:label "Slot 1 HS0001"^^xsd:string ;
  s4ener:belongsTo ex:PowerSequence-1-HS0001 ;
  s4ener:hasSlotValue ex:Observation_1, ex:Observation_2 ;
  s4ener:belongsTo :PowerSequence-1-HS0001 ;
  s4ener:hasSlotValue :PropertyValue_1, :PropertyValue_2 ;
  s4ener:slotNumber "1"^^xsd:unsignedInt ;
.
ex:Slot-2-HS0001
:Slot-2-HS0001
  rdf:type s4ener:Slot ;
  rdfs:label "Slot 2 HS0001"^^xsd:string ;
  s4ener:belongsTo ex:PowerSequence-2-HS0001 ;
  s4ener:belongsTo :PowerSequence-2-HS0001 ;
  s4ener:slotNumber "2"^^xsd:unsignedInt ;
.
ex:Slot-3-HS0001
:Slot-3-HS0001
  rdf:type s4ener:Slot ;
  rdfs:label "Slot 3 HS0001"^^xsd:string ;
  s4ener:belongsTo ex:PowerSequence-3-HS0001 ;
  s4ener:belongsTo :PowerSequence-3-HS0001 ;
  s4ener:slotNumber "3"^^xsd:unsignedInt ;
.
ex:Time_PowerProfile-1-HS0001
  rdf:type saref:Time ;
:Time_PowerProfile-1-HS0001
  rdf:type time:TemporalEntity  ;
  rdfs:label "Time Power profile-1-HS0001"^^xsd:string ;
  saref:consistsOf ex:DateTimeInterval_PowerProfile-1-HS0001 ;
  saref:consistsOf :DateTimeInterval_PowerProfile-1-HS0001 ;
.
 No newline at end of file
dcterms:abstract a owl:AnnotationProperty .
 No newline at end of file
Loading
Loading