Newer
Older
@prefix : <https://saref.etsi.org/saref4ener/v2.1.1/example/PowerProfileExample/> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix om-ucum: <http://www.ontology-of-units-of-measure.org/resource/om-2-ucum/> .
@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#> .
@prefix s2: <http://ontology.tno.nl/interconnect/s2#> .
@prefix s4ener: <https://saref.etsi.org/saref4ener/> .
@prefix saref: <https://saref.etsi.org/core/> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dctype: <http://purl.org/dc/dcmitype/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
<https://saref.etsi.org/saref4ener/v2.1.1/example/powerProfileExample#>
dcterms:conformsTo <https://saref.etsi.org/saref4ener/v2.1.1/> ;
dcterms:abstract "This example file exemplifies how to model a Power Profile in the SAREF4ENER extension following the definition in the S2 standard." ;
dcterms:description "This example file exemplifies how to model a Power profile in the SAREF4ENER extension." ;
dcterms:title "SAREF4ENER examples for a Power Profile"@en ;
owl:imports saref:, s4ener: ;
dcterms:license <https://forge.etsi.org/etsi-software-license> ;
.
:AlternativesGroup_1
a s4ener:AlternativesGroup ;
rdfs:comment "This Alternatives Group example follows the PowerProfileDefinition example from page 28 of the S2 documentation. The difference in modelling choice is that Saref4Energy does not contain an equivalent for the PowerSequenceContainers used in S2. Therefore, the PowerSequences in this example together form the cartesian product of the PowerSequenceContainers in" ;
rdfs:label "Alternatives group 1" ;
rdfs:label "Power Sequence Container" ;
saref:consistsOf :PowerSequence_1 ;
saref:consistsOf :PowerSequence_2 ;
saref:consistsOf :PowerSequence_3 ;
saref:consistsOf :PowerSequence_4 ;
saref:consistsOf :PowerSequence_5 ;
saref:consistsOf :PowerSequence_6 ;
s4ener:hasEarliestStartTime "2023-02-24T17:00:00Z"^^xsd:dateTimeStamp ;
s4ener:hasLatestEndTime "2023-02-24T21:00:00Z"^^xsd:dateTimeStamp ;
.
:Device_1
a saref:Device ;
rdfs:comment "An example washing machine that exhibits the example power profile of the S2 documentation." ;
rdfs:label "Washing Machine" ;
saref:hasProfile :PowerProfile_1 ;
.
:Energy_1
a saref:Energy ;
rdfs:label "Energy 1" ;
.
:Observation_1
a saref:Observation ;
rdfs:label "Observation 1" ;
saref:hasValue "2000" ;
saref:isMeasuredIn om-ucum:kilowattHour ;
saref:relatesToProperty :Energy_1 ;
.
:Observation_2
a saref:Observation ;
rdfs:label "Observation 2" ;
saref:hasValue "1500" ;
saref:isMeasuredIn om-ucum:kilowattHour ;
saref:relatesToProperty :Power_1 ;
.
:Observation_3
a saref:Observation ;
rdfs:label "Observation 3" ;
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
saref:hasValue "100" ;
saref:isMeasuredIn om-ucum:kilowattHour ;
saref:relatesToProperty :Energy_1 ;
saref:relatesToProperty :Power_1 ;
.
:PowerProfile_1
a s4ener:PowerProfile ;
rdfs:comment """The Power Profile was the only flexibility profile that was in the original saref4Ener. In this extension we added several other forms of energy flexibility drawn from the S2 standard.
A major difference in modelling is that S2 divides a appliance task into various phases, where in each phases the Energy Management System can choose the appropriate profile. In EEBUS we (for now) only have the option of choosing the whole program before starting it. Therefore, we appended the various slots of the S2 example into six PowerSequence, each concatenating three consecutive S2 PowerSequences. """ ;
rdfs:label "Power profile 1" ;
saref:consistsOf :AlternativesGroup_1 ;
saref:isAbout :Energy_1 ;
saref:isAbout :Power_1 ;
s4ener:belongsTo :Device_1 ;
s4ener:nodeRemoteControllable true ;
s4ener:supportsReselection true ;
s4ener:supportsSingleSlotSchedulingOnly true ;
s4ener:totalSequencesCountMax "1"^^xsd:unsignedInt ;
.
:PowerSequence_1
a s4ener:PowerSequence ;
s4ener:abnormalConditionOnly false ;
s4ener:hasMaxPauseDuration "P0M"^^xsd:duration ;
rdfs:comment "This power sequence is the combination of the first PowerSequences of all three PowerSequenceContainers in the S2 PowerProfile example." ;
rdfs:label "Power sequence 1" ;
saref:consistsOf :Slot_1 ;
saref:consistsOf :Slot_2 ;
saref:consistsOf :Slot_3 ;
saref:consistsOf :Slot_4 ;
saref:consistsOf :Slot_5 ;
saref:consistsOf :Slot_6 ;
saref:consistsOf :Slot_7 ;
saref:consistsOf :Slot_8 ;
saref:consistsOf :Slot_9 ;
s4ener:hasEndTime "2023-02-17T21:00:00Z"^^xsd:dateTimeStamp ;
s4ener:hasStartTime "2023-02-17T17:00:00Z"^^xsd:dateTimeStamp ;
s4ener:isPausable false ;
.
:PowerSequence_2
a s4ener:PowerSequence ;
rdfs:label "Power sequence 2" ;
.
:PowerSequence_3
a s4ener:PowerSequence ;
rdfs:label "Power sequence 3" ;
.
:PowerSequence_4
a s4ener:PowerSequence ;
rdfs:label "Power sequence 4" ;
.
:PowerSequence_5
a s4ener:PowerSequence ;
rdfs:label "Power sequence 5" ;
.
:PowerSequence_6
a s4ener:PowerSequence ;
rdfs:label "Power sequence 6" ;
.
:Power_1
a saref:Power ;
rdfs:label "Power 1" ;
.
:Slot_1
a s4ener:Slot ;
rdfs:label "Slot 1" ;
s4ener:belongsTo :PowerSequence_1 ;
s4ener:hasDurationDefault "PT1H"^^xsd:duration ;
s4ener:hasDurationMin "PT30M"^^xsd:duration ;
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
s4ener:slotNumber "1"^^xsd:unsignedInt ;
.
:Slot_2
a s4ener:Slot ;
rdfs:label "Slot 2" ;
s4ener:slotNumber "2"^^xsd:unsignedInt ;
.
:Slot_3
a s4ener:Slot ;
rdfs:label "Slot 3" ;
s4ener:slotNumber "3"^^xsd:unsignedInt ;
.
:Slot_4
a s4ener:Slot ;
rdfs:label "Slot 4" ;
s4ener:slotNumber "4"^^xsd:unsignedInt ;
.
:Slot_5
a s4ener:Slot ;
rdfs:comment """The PowerProfile example has a max pause before the first slot of the only power sequence of the second power sequence container. To properly model this we add a maximum activation delay to the fifth slot.
Throughout this example we give several ways to model the duration or time, such that we can consider the pros and cons of the various options: include Time ontology or directly use the xsd:decimal datatype.""" ;
rdfs:label "Slot 5 maximum activation delay" ;
s4ener:hasActivationDelayMax "PT10M"^^xsd:duration ;
s4ener:slotNumber "5"^^xsd:unsignedInt ;
.
:Slot_6
a s4ener:Slot ;
rdfs:label "Slot 6" ;
s4ener:slotNumber "6"^^xsd:unsignedInt ;
.
:Slot_7
a s4ener:Slot ;
rdfs:label "Slot 7" ;
s4ener:slotNumber "7"^^xsd:unsignedInt ;
.
:Slot_8
a s4ener:Slot ;
rdfs:label "Slot 8" ;
s4ener:hasActivationDelayMax "PT5M"^^xsd:duration ;
s4ener:slotNumber "8"^^xsd:unsignedInt ;
.
:Slot_9
a s4ener:Slot ;
rdfs:label "Slot 9" ;
s4ener:slotNumber "9"^^xsd:unsignedInt ;
.
dcterms:abstract a owl:AnnotationProperty .
dcterms:conformsTo a owl:AnnotationProperty .