Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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
136
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@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 s4ener: <https://saref.etsi.org/saref4ener/> .
@prefix saref: <https://saref.etsi.org/core/> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
s4ener:
a owl:Ontology ;
dcterms:contributor <https://www.linkedin.com/in/mente-konsman-b0a1711/> ;
dcterms:creator <https://www.linkedin.com/in/bouterca/> ;
dcterms:creator <https://www.linkedin.com/in/giulia-biagioni> ;
dcterms:creator <https://www.linkedin.com/in/lauradaniele> ;
dcterms:description """The flexibility ontology module (ic-flex) is by design tightly integrated with SAREF,
SAREF4ENER and the following InterConnect modules: power limit (ic-pwlm),
incentive table (ic-inc), S2 (ic-s2), data-point (ic-data) and forecast (ic-fc)
The main concept of the ic-flex module is the s4ener:FlexOffer, which allows to
represent a flexibility offer (or schedule) as a combination of multiple time-series, data-points and forecasts.
It also allows to specify a creation time (s4ener:hasCreationTime), validity
period (s4ener:hasEffectivePeriod) and provenance (s4ener:producedBy) for
the offer, on top of the creation time, validity period and provenance already specified for the time-series and data-points included in the offer.
The additional key aspect captured in the ic-flex module is that a flex offer can also include various categories of flexibility, which are modelled as subclasses of the s4ener:FlexibilityProfile class, as follows:
- Power Profile flexibilty is modelled as s4ener:PowerProfile based on the EEBUS spec
- Tariff based flexibility (s4ener:TariffBased) is implemented using the incentive table (ic-inc) ontology based on the EEBUS spec (note that tariif-based felxibility does note exist in S2)
- Power limit flexibility (ic-pwlm:PowerLimit) is implemented using thepower limit (ic-pwlm) ontology based on the EEBUS spec (and compliant also with S2)
- Power Envelope flexibility (s4ener:PowerEnvelope) is implemented using theS2 (ic-s2) that follows the S2 specification (and compliant also with EEBUS)
- Demand driven flexibility (s4ener:DemandDriven) flexibility (s4ener:PowerEnvelope) is implemented using theS2 (ic-s2) that follows the S2 specification (and compliant also with EEBUS)
- Operation mode flexibility (s4ener:OperationMode) is implemented using theS2 (ic-s2) that follows the S2 specification (and compliant also with S2)
- Fill rate based flexibility (s4ener:FillRateBased is implemented using theS2 (ic-s2) that follows the S2 specification (and compliant also with S2)"""@en ;
dcterms:license <https://forge.etsi.org/etsi-software-license> ;
dcterms:modified "2023-03-29"^^xsd:date ;
dcterms:publisher <https://www.etsi.org/> ;
dcterms:source <https://saref.etsi.org/sources/saref4ener/> ;
dcterms:title "SAREF for Energy Flexibility"@en ;
vann:preferredNamespacePrefix "s4ener" ;
vann:preferredNamespaceUri "https://saref.etsi.org/saref4ener/" ;
owl:imports <https://saref.etsi.org/core/v3.1.1/> ;
owl:versionIRI <https://saref.etsi.org/saref4ener/v1.2.1/> ;
owl:versionInfo "v1.2.1" ;
.
s4ener:Aborted
a owl:NamedIndividual ;
a s4ener:InstructionStatus ;
a s4ener:PowerSequenceStatus ;
rdfs:comment "Instruction was aborted." ;
rdfs:comment "The selected PPBC.PowerSequence was aborted by the device and will not continue" ;
rdfs:label "Aborted"@en ;
.
s4ener:AbsoluteCost
a owl:NamedIndividual ;
a s4ener:IncentiveType ;
rdfs:comment "The incentive type ''absolute cost'' defined in the incentive table."@en ;
rdfs:label "Absolute cost"@en ;
.
s4ener:Accepted
a owl:NamedIndividual ;
a s4ener:InstructionStatus ;
rdfs:comment "Instruction has been accepted" ;
rdfs:label "Accepted"@en ;
.
s4ener:ActivationDelayDurationDescription
a owl:Class ;
rdfs:comment "The duration description for the activation delay duration temporal entity"@en ;
rdfs:label "Activation delay duration description"@en ;
rdfs:subClassOf time:DurationDescription ;
owl:deprecated true ;
.
s4ener:ActiveDurationDescription
a owl:Class ;
rdfs:comment "The duration description for the active duration (min and max, sum max and sum min) temporal entities"@en ;
rdfs:label "Active duration description"@en ;
rdfs:subClassOf time:DurationDescription ;
owl:deprecated true ;
.
s4ener:ActiveDurationMax
a owl:Class ;
rdfs:comment "The active maximum duration a power sequence can run without interruption."@en ;
rdfs:label "Active duration max"@en ;
rdfs:subClassOf time:TemporalEntity ;
owl:deprecated true ;
.
s4ener:ActiveDurationMin
a owl:Class ;
rdfs:comment "The active mininum duration a power sequence can run without interruption."@en ;
rdfs:label "Active duration min"@en ;
rdfs:subClassOf time:TemporalEntity ;
owl:deprecated true ;
.
s4ener:ActiveDurationSumMax
a owl:Class ;
rdfs:comment "The active maximum duration a power sequence can run in total (summation of all active times)."@en ;
rdfs:label "Active duration sum max"@en ;
rdfs:subClassOf time:TemporalEntity ;
owl:deprecated true ;
.
s4ener:ActiveDurationSumMin
a owl:Class ;
rdfs:comment "The active minimum duration a power sequence must run in total (summation of all active times)."@en ;
rdfs:label "Active duration sum min"@en ;
rdfs:subClassOf time:TemporalEntity ;
owl:deprecated true ;
.
s4ener:ActuatorLevel
a owl:Class ;
rdfs:comment "Independent from the ActuatorSwitch class, the ActuatorLevel class enables a user or application to model LEVEL commands (start, up, percentageAbsolute, relative, etc.). This can be used to dim a light, set the speed of an electric motor, etc."@en ;
rdfs:label "Actuator level"@en ;
rdfs:subClassOf saref:Actuator ;
.
s4ener:ActuatorSwitch
a owl:Class ;
rdfs:comment "Basic on/off operations on a simple actuator can be modelled with the ActuatorSwitch class. Whether the function turns a device itself ON or OFF, or whether it switches a specific feature, depends on the implementation. For example, one could model the super freeze program of a freezer using ActuatorSwitch class. An ON command would then activate the super freeze program and an OFF command would deactivate it. This example shall just give an idea how ActuatorSwitch can be used for more purposes than only turning devices on and off."@en ;
rdfs:label "Actuator switch"@en ;
rdfs:subClassOf saref:Actuator ;
.
s4ener:AllowedLimitRange
a rdfs:Class ;
rdfs:comment "The actual constraints of an Power Envelope Based Profile." ;
rdfs:label "Allowed limit range"@en ;
rdfs:subClassOf owl:Thing ;
.
s4ener:AlternativesGroup
a owl:Class ;
rdfs:comment "A collection of power sequences for a certain profile"@en ;
rdfs:label "Alternatives group"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom s4ener:PowerProfile ;
owl:onProperty s4ener:belongsTo ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom s4ener:PowerSequence ;
owl:onProperty saref:consistsOf ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onClass s4ener:PowerSequence ;
owl:onProperty saref:consistsOf ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onClass s4ener:PowerProfile ;
owl:onProperty s4ener:belongsTo ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onDataRange xsd:unsignedInt ;
owl:onProperty s4ener:alternativesGroupID ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
] ;
.
s4ener:AnticipationDurationDescription
a owl:Class ;
rdfs:comment "The duration description for the anticipation duration temporal entities"@en ;
rdfs:label "Anticipation duration description"@en ;
rdfs:subClassOf time:DurationDescription ;
owl:deprecated true ;
.
s4ener:Average
a owl:NamedIndividual ;
a s4ener:Usage ;
rdfs:comment "The datapoint indicates an average value aggregated over a number of values." ;
rdfs:label "Average"@en ;
.
s4ener:BaseLine
a owl:NamedIndividual ;
a s4ener:Usage ;
rdfs:comment "This datapoint indicates the baseline." ;
rdfs:label "Baseline"@en ;
.
s4ener:BatteryPowerSource
a s4ener:PowerSource ;
rdfs:comment "This Power Source codelist element indicates that a battery is the power source of this device." ;
rdfs:label "Battery power source"@en ;
.
s4ener:CO2Emission
a owl:NamedIndividual ;
a s4ener:IncentiveType ;
rdfs:comment "The incentive type ''CO2 Emission'' defined in the incentive table."@en ;
rdfs:label "CO2 Emission"@en ;
.
s4ener:Calculated
a s4ener:ValueSource ;
rdfs:comment "This value source codelist element indicates that this measurement has been calculated instead of measured or empirical." ;
rdfs:label "Calculated"@en ;
.
s4ener:Committed
a owl:NamedIndividual ;
a s4ener:ScopeType ;
rdfs:comment "The committed version of this concept, usually an incentive table or power plan"@en ;
rdfs:label "Committed"@en ;
.
s4ener:CommodityQuantity
a owl:Class ;
rdfs:comment "The various commodity quantities introduced by the S2 standard." ;
rdfs:label "Commodity Quantity"@en ;
.
s4ener:Completed
a owl:NamedIndividual ;
a s4ener:PowerSequenceState ;
rdfs:comment "Power sequence state with value 'completed'"@en ;
rdfs:label "Completed"@en ;
.
s4ener:Consumption
a owl:NamedIndividual ;
a s4ener:Usage ;
rdfs:comment "This datapoint indicates the consumption." ;
rdfs:label "Consumption"@en ;
.
s4ener:ContractualPowerLimit
a owl:Class ;
rdfs:comment "The contractual power limit of a device"@en ;
rdfs:label "Contractual Power Limit"@en ;
rdfs:subClassOf s4ener:PowerLimit ;
.
s4ener:DCPowerSource
a s4ener:PowerSource ;
rdfs:comment "This Power Source codelist element indicates that the type of power source is DC." ;
rdfs:label "DC Power source"@en ;
.
s4ener:DDBCInstruction
a owl:Class ;
rdfs:comment "An Instruction as specified for an Demand Driven Based Control Profile." ;
rdfs:label "Demand Driven Based Control Instruction"@en ;
rdfs:subClassOf s4ener:FlexibilityInstruction ;
.
s4ener:DataPoint
a owl:Class ;
rdfs:comment """A data point is a quantity that is extended with various pieces of process information, namely
- A creation time (instant). This is the point in time when the data point was created, which is not necessarily the time for which it is valid. In the case of soft-sensors or forecasters, a data point might have been created ahead of time, in the case of a direcet measurement a data point might created at its time of validity (or at the end of its validity time interval) and in the case of an archived value the data point might have been created after the fact.
- A validity time (temporal entity) which will be named \"time stamp\". The validity time is the instant or interval in time in which a specific quantity is in effect. For example a room temperature might be measured at 12:00, which means it is in effect at this very instant. A specific amount of energy might me expended within the time-slot between 12:30 and 12:45, which means that the energy measurement is in effect during this time interval.
- A location or topological association. For example, a measurement might be taken in a specific room, a power avarage might have been measured by a specific meter, a forecast might be valid for a specific region or grid segment. This association is therefore not always a location."""@en ;
rdfs:label "Data point"@en ;
rdfs:subClassOf saref:Measurement ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom s4ener:Usage ;
owl:onProperty s4ener:hasUsage ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:hasCreationTime ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:hasQuantile ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:hasUpdateRate ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onClass time:Interval ;
owl:onProperty s4ener:hasEffectivePeriod ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
] ;
.
s4ener:DefaultDuration
a owl:Class ;
rdfs:comment "The duration of a slot (SHALL be present in case of 'determined slot'). If a slot has a configurable lenght, this element SHALL reflect the currently configured lenght"@en ;
rdfs:label "Default duration"@en ;
rdfs:subClassOf time:TemporalEntity ;
owl:deprecated true ;
.
s4ener:DefaultDurationDescription
a owl:Class ;
rdfs:comment "The duration description for the default duration temporal entity"@en ;
rdfs:label "Default duration description"@en ;
rdfs:subClassOf time:DurationDescription ;
owl:deprecated true ;
.
s4ener:Defer
a owl:NamedIndividual ;
a s4ener:PowerEnvelopeConsequenceType ;
rdfs:comment "Indicating that the limited load or generation will be postponed to a later moment " ;
rdfs:label "Defer"@en ;
.
s4ener:DemandDrivenProfile
a owl:Class ;
rdfs:comment "The Flexibility Profile following the Demand Driven strategy." ;
rdfs:label "Demand driven control"@en ;
rdfs:subClassOf s4ener:FlexibilityProfile ;
.
s4ener:Device
a owl:Class ;
rdfs:comment "A specialization of a saref:Device that exposes a power profile with power sequences to the CEM (note that a s4ee:Device can also be called 'power sequence server'). Most of the existing devices can expose at most 1 power profile, but there are special cases in which more than one power profiles can be exposed by the same device. For example, consider the case of a combined fridge-freezer in which there are 2 logical devices (fridge and freezer) combined in 1 physical device. This combined device can expose 2 power profiles, one for the fridge and one for the freezer. A s4ee:Device (e.g. a household appliance or a smart meter) can also receive events about overload warning severity level and related load control commands (LoadControlEventData)"@en ;
rdfs:label "Device"@en ;
rdfs:subClassOf saref:Device ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom s4ener:LoadControlEventData ;
owl:onProperty s4ener:receives ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:brandName ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:deviceCode ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:deviceName ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:hardwareRevision ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:manufacturerDescription ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:manufacturerLabel ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:manufacturerNodeIdentification ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:serialNumber ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:softwareRevision ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:vendorCode ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:vendorName ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:minCardinality "0"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:hasPowerSource ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
owl:onClass s4ener:LoadControlEventData ;
owl:onProperty s4ener:receives ;
] ;
.
s4ener:Downflex
a owl:NamedIndividual ;
a s4ener:Usage ;
rdfs:comment "This datapoint indicates the down flexibility." ;
rdfs:label "Downflex"@en ;
.
s4ener:DurationUncertainty
a owl:Class ;
rdfs:comment "The uncertainty of the duration "@en ;
rdfs:label "Duration uncertainty"@en ;
rdfs:subClassOf time:TemporalEntity ;
owl:deprecated true ;
.
s4ener:DurationUncertaintyDescription
a owl:Class ;
rdfs:comment "The duration description for the duration uncertainty temporal entity"@en ;
rdfs:label "Duration uncertainty description"@en ;
rdfs:subClassOf time:DurationDescription ;
owl:deprecated true ;
.
s4ener:EarliestStartTime
a owl:Class ;
rdfs:comment """The earliest possible start time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.
Note: This element applies to the first repetition of the slot number only."""@en ;
rdfs:label "Earliest start time"@en ;
rdfs:subClassOf time:TemporalEntity ;
.
s4ener:ElapsedSlotTime
a owl:Class ;
rdfs:comment "If state is set to 'running' or 'paused' AND the slot is determined, this element CAN contain the time the slot has already been in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted."@en ;
rdfs:label "Elapsed slot time"@en ;
rdfs:subClassOf time:TemporalEntity ;
.
s4ener:ElectricPower3PhaseSymmetric
a s4ener:CommodityQuantity ;
rdfs:comment "Electric power described in Watt on when power is equally shared among the three phases. Only applicable for 3 phase devices." ;
rdfs:label "Electric Power 3 Phase Symmetric"@en ;
.
s4ener:ElectricPowerL1
a s4ener:CommodityQuantity ;
rdfs:comment "Electric power described in Watt on phase 1. If a device utilizes only one phase it should always use L1." ;
rdfs:label "Electric Power L1"@en ;
.
s4ener:ElectricPowerL2
a s4ener:CommodityQuantity ;
rdfs:comment "Electric power described in Watt on phase 2. Only applicable for 3 phase devices." ;
rdfs:label "Electric Power L2"@en ;
.
s4ener:ElectricPowerL3
a s4ener:CommodityQuantity ;
rdfs:comment "Electric power described in Watt on phase 3. Only applicable for 3 phase devices." ;
rdfs:label "Electric Power L3"@en ;
.
s4ener:Electricity
a saref:Electricity ;
rdfs:comment "Identifier for Commodity ELECTRICITY" ;
rdfs:label "Electricity"@en ;
.
s4ener:Emergency
a owl:NamedIndividual ;
a s4ener:EventActionConsume ;
a s4ener:EventActionProduce ;
rdfs:comment "Load control event action with value 'emergency'"@en ;
rdfs:label "Emergency"@en ;
.
s4ener:Empirical
a s4ener:ValueSource ;
rdfs:comment "This value source codelist element indicates this value is an empirical value instead of a calculated or measured value." ;
rdfs:label "Empirical"@en ;
.
s4ener:EndInterruptionInstruction
a owl:Class ;
rdfs:comment "An Instruction message indicating when an interruption can end." ;
rdfs:label "End Interruption Instruction"@en ;
rdfs:subClassOf s4ener:InterruptionInstruction ;
.
s4ener:EndTime
a owl:Class ;
rdfs:comment """The endTime of a power sequence. If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted.
The end time of a slot MAY be stated in this element. The following equation SHALL apply: endTime - startTime = defaultDuration."""@en ;
rdfs:label "End time"@en ;
rdfs:subClassOf time:TemporalEntity ;
.
s4ener:EndTimeDurationDescription
a owl:Class ;
rdfs:comment "The duration description for the end time duration temporal entities"@en ;
rdfs:label "End time duration Description"@en ;
rdfs:subClassOf time:DurationDescription ;
.
s4ener:Energy
a owl:Class ;
rdfs:comment "Energy type and value in a slot (i.e., Energy, EnergyMin, EnergyMax, EnergyExpected, EnergyStandardDeviation, EnergySkewness); or the ResumeEnergyEstimated in a power sequence, i.e., the additional energy the device will consume before resuming its normal operation (after a pause)"@en ;
rdfs:label "Energy"@en ;
rdfs:subClassOf saref:Energy ;
.
s4ener:EnergyConstraint
a owl:Class ;
rdfs:comment "The energy constraint described in the Allowed Limit Range or Power Limit." ;
rdfs:label "Energy Constraint"@en ;
.
s4ener:EnergyConsumer
a owl:NamedIndividual ;
a s4ener:RoleType ;
rdfs:comment "Identifier for RoleType Consumer" ;
rdfs:label "Energy Consumer"@en ;
.
s4ener:EnergyExpected
a owl:Class ;
rdfs:comment "A possible type of energy in a slot that represents the expected energy consumption and its value"@en ;
rdfs:label "Energy expected"@en ;
rdfs:subClassOf s4ener:Energy ;
.
s4ener:EnergyMax
a owl:Class ;
rdfs:comment "A possible type of energy in a slot that represents the maximum energy consumption and its value"@en ;
rdfs:label "Energy max"@en ;
rdfs:subClassOf s4ener:Energy ;
.
s4ener:EnergyMin
a owl:Class ;
rdfs:comment "A possible type of energy in a slot that represents the minimum energy consumption and its value"@en ;
rdfs:label "Energy min"@en ;
rdfs:subClassOf s4ener:Energy ;
.
s4ener:EnergyProducer
a owl:NamedIndividual ;
a s4ener:RoleType ;
rdfs:comment "Identifier for RoleType Producer" ;
rdfs:label "Energy Producer"@en ;
.
s4ener:EnergySkewness
a owl:Class ;
rdfs:comment "A possible type of energy in a slot that represents the energy skewness and its value"@en ;
rdfs:label "Energy skewness"@en ;
rdfs:subClassOf s4ener:Energy ;
.
s4ener:EnergyStandardDeviation
a owl:Class ;
rdfs:comment "A possible type of energy in a slot that represents the energy standard deviation and its value"@en ;
rdfs:label "Energy Standard Deviation"@en ;
rdfs:subClassOf s4ener:Energy ;
.
s4ener:EnergyStorage
a owl:NamedIndividual ;
a s4ener:RoleType ;
rdfs:comment "Identifier for RoleType Storage" ;
rdfs:label "Energy Storage"@en ;
.
s4ener:EuroPerKilowattHour
a saref:UnitOfMeasure ;
rdfs:comment "Unit of Measure to represent euro's per kilowatt per hour" ;
rdfs:label "Euro per kilo watt hour"@en ;
.
s4ener:EventAccepted
a owl:NamedIndividual ;
a s4ener:EventStateConsume ;
a s4ener:EventStateProduce ;
rdfs:comment "Load control state with value 'event accepted'"@en ;
rdfs:label "Event accepted"@en ;
.
s4ener:EventActionConsume
a owl:Class ;
rdfs:comment "An action type used to express a consume action to be performed as a consequence of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."@en ;
rdfs:label "Event action consume"@en ;
rdfs:subClassOf s4ener:LoadControlEventAction ;
owl:oneOf (
s4ener:Pause
s4ener:Resume
s4ener:Reduce
s4ener:Increase
s4ener:Emergency
s4ener:Normal
) ;
.
s4ener:EventActionProduce
a owl:Class ;
rdfs:comment "An action type used to express a produce action to be performed as a consequence of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."@en ;
rdfs:label "Event action produce"@en ;
rdfs:subClassOf s4ener:LoadControlEventAction ;
owl:oneOf (
s4ener:Pause
s4ener:Resume
s4ener:Reduce
s4ener:Increase
s4ener:Emergency
s4ener:Normal
) ;
.
s4ener:EventCancelled
a owl:NamedIndividual ;
a s4ener:EventStateConsume ;
a s4ener:EventStateProduce ;
rdfs:comment "Load control state with value 'event cancelled'"@en ;
rdfs:label "Event cancelled"@en ;
.
s4ener:EventError
a owl:NamedIndividual ;
a s4ener:EventStateConsume ;
a s4ener:EventStateProduce ;
rdfs:comment "Load control state with value 'event error'"@en ;
rdfs:label "Event error"@en ;
.
s4ener:EventRejected
a owl:NamedIndividual ;
a s4ener:EventStateConsume ;
a s4ener:EventStateProduce ;
rdfs:comment "Load control state with value 'event rejected'"@en ;
rdfs:label "Event rejected"@en ;
.
s4ener:EventStarted
a owl:NamedIndividual ;
a s4ener:EventStateConsume ;
a s4ener:EventStateProduce ;
rdfs:comment "Load control state with value 'event started'"@en ;
rdfs:label "Event started"@en ;
.
s4ener:EventStateConsume
a owl:Class ;
rdfs:comment "In the load control, it expresses a consume state of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."@en ;
rdfs:label "Event state consume"@en ;
rdfs:subClassOf s4ener:LoadControlEventState ;
owl:oneOf (
s4ener:EventAccepted
s4ener:EventStarted
s4ener:EventStopped
s4ener:EventRejected
s4ener:EventCancelled
s4ener:EventError
) ;
.
s4ener:EventStateProduce
a owl:Class ;
rdfs:comment "In the load control, it expresses a produce state of an event an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."@en ;
rdfs:label "Event state produce"@en ;
rdfs:subClassOf s4ener:LoadControlEventState ;
owl:oneOf (
s4ener:EventAccepted
s4ener:EventStarted
s4ener:EventStopped
s4ener:EventRejected
s4ener:EventCancelled
s4ener:EventError
) ;
.
s4ener:EventStopped
a owl:NamedIndividual ;
a s4ener:EventStateConsume ;
a s4ener:EventStateProduce ;
rdfs:comment "Load control state with value 'event stopped'"@en ;
rdfs:label "Event stopped"@en ;
.
s4ener:Executing
a s4ener:PowerSequenceStatus ;
rdfs:comment "The selected PPBC.PowerSequence is currently being executed" ;
rdfs:label "EXECUTING"@en ;
.
s4ener:FRBCInstruction
a owl:Class ;
rdfs:comment "A Fill Rate Based Instruction message. " ;
rdfs:label "Fill Rate Based Control Instruction"@en ;
rdfs:subClassOf s4ener:FlexibilityInstruction ;
.
s4ener:FailsafePowerLimit
a owl:Class ;
rdfs:comment "In case the communication between a device and the energy manager is interrupted, fail-safe values apply and the device enters fail-safe state until the communication is re-established."@en ;
rdfs:label "Failsafe Power Limit"@en ;
rdfs:subClassOf s4ener:PowerLimit ;
.
s4ener:FailsafeState
a owl:Class ;
rdfs:comment "State that indicates that the device currently is in its Fail-safe state. This means that it has lost its connection to a central energy manager. This may result in the device following stricter power limits." ;
rdfs:label "Fail-safe state"@en ;
.
s4ener:Falling
a s4ener:ValueTendency ;
rdfs:comment "This value tendency codelist element indicates that the tendency of this measurement indicates that the value is decreasing (i.e., falling)." ;
rdfs:label "Falling"@en ;
.
s4ener:FillLevelTargetProfile
a owl:Class ;
rdfs:comment "The target profile that a fill rate based control flexibility profile tries to follow." ;
rdfs:label "Fill level target profile"@en ;
rdfs:subClassOf owl:Thing ;
.
s4ener:FillLevelTargetProfileElement
a owl:Class ;
rdfs:comment "A description of the various Elements detailing the Fill Level Target Profile consists." ;
rdfs:label "Fill level target profile element"@en ;
rdfs:subClassOf owl:Thing ;
.
s4ener:FillRateProfile
a owl:Class ;
rdfs:comment "A flexibility profile specified through a Fill Rate Based Profile." ;
rdfs:label "Fill rate control"@en ;
rdfs:subClassOf s4ener:FlexibilityProfile ;
.
s4ener:Finished
a s4ener:PowerSequenceStatus ;
rdfs:comment "The selected PPBC.PowerSequence was executed and finished successfully" ;
rdfs:label "Finished"@en ;
.
s4ener:FlexOffer
a owl:Class ;
rdfs:comment "It allows to represent a flexibility offer (or schedule) as a combination of multiple time-series, data-points and forecasts. For example, we can create a flexibility offer that includes a time-series ex:T-power of power values, combined with a time-series ex:T-costs of associated costs."@en ;
rdfs:label "Flex offer"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom [
a owl:Class ;
owl:unionOf (
foaf:Agent
saref:Device
) ;
] ;
owl:onProperty s4ener:hasRecipient ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom [
a owl:Class ;
owl:unionOf (
foaf:Agent
saref:Device
) ;
] ;
owl:onProperty s4ener:producedBy ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom [
a owl:Class ;
owl:unionOf (
s4ener:DataPoint
s4ener:TimeSeries
s4ener:FlexibilityProfile
) ;
] ;
owl:onProperty s4ener:includes ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:hasCreationTime ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onClass time:Interval ;
owl:onProperty s4ener:hasEffectivePeriod ;
] ;
.
s4ener:FlexRequest
a owl:Class ;
rdfs:comment "The flexibility request"@en ;
rdfs:label "Flex request"@en ;
rdfs:subClassOf owl:Thing ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom xsd:dateTime ;
owl:onProperty s4ener:hasCreationTime ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom time:Interval ;
owl:onProperty s4ener:hasEffectivePeriod ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom [
a owl:Class ;
owl:unionOf (
foaf:Agent
saref:Device
) ;
] ;
owl:onProperty s4ener:hasRecipient ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom [
a owl:Class ;
owl:unionOf (
foaf:Agent
saref:Device
) ;
] ;
owl:onProperty s4ener:producedBy ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom [
a owl:Class ;
owl:unionOf (
s4ener:DataPoint
s4ener:TimeSeries
s4ener:FlexibilityProfile
s4ener:IncentiveTableBasedProfile
) ;
] ;
owl:onProperty s4ener:includes ;
] ;
.
s4ener:FlexibilityInstruction
a owl:Class ;
rdfs:comment "The various types of instructions Flexibility Sources can send and/or receive." ;
rdfs:label "Flexibility Instruction"@en ;
.
s4ener:FlexibilityProfile
a owl:Class ;
rdfs:comment """Different control types to describe the energy flexibility that a device has to offer. Charging of an EV for instance, may be controlled by power profile-based control or fill-rate -based control. It is not allowed to mix different control types at the same time, but different control types may be used sequentially.
Control Types dictates flexibility instructions. Control Type provides Flexibility options.""" ;
rdfs:label "Flexibility Profile"@en ;
rdfs:subClassOf saref:Profile ;
.
s4ener:Gas
a saref:Gas ;
rdfs:comment "Identifier for Commodity GAS" ;
rdfs:label "Gas"@en ;
.
s4ener:GaussianDataPoint
a owl:Class ;
rdfs:comment "A data point whose quantity is a standard deviation."@en ;
rdfs:label "Gaussian data point"@en ;
rdfs:subClassOf s4ener:DataPoint ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty s4ener:hasStandardDeviation ;
owl:someValuesFrom xsd:decimal ;
] ;
.
s4ener:Heat
a saref:Commodity ;
rdfs:comment "Identifier for Commodity Heat" ;
rdfs:label "Heat"@en ;
.
s4ener:HeatFlowRate
a s4ener:CommodityQuantity ;
rdfs:comment "Flow rate of heat carrying gas or liquid in liters per second" ;
rdfs:label "Heat Flow Rate"@en ;
.
s4ener:HeatTemperature
a s4ener:CommodityQuantity ;
rdfs:comment "Heat described in degrees Celsius" ;
rdfs:label "Heat Temperature"@en ;
.
s4ener:HeatThermalPower
a s4ener:CommodityQuantity ;
rdfs:comment "Thermal power in Watt" ;
rdfs:label "Heat Thermal Power"@en ;
.
s4ener:HydrogenFlowRate
a s4ener:CommodityQuantity ;
rdfs:comment "Gas flow rate described in grams per second" ;
rdfs:label "Hydrogen Flow Rate"@en ;
.
s4ener:Inactive
a owl:NamedIndividual ;
a s4ener:PowerSequenceState ;
rdfs:comment "Power sequence state with value 'inactive'"@en ;
rdfs:label "Inactive"@en ;
.
s4ener:Incentive
a owl:Class ;
rdfs:comment "An Incentive indicates the intersection of a tier with a slot. In this particular combination of slot and tier there are a particular costs to draw this type of energy. For example, drawing power from the grid costs 0.30 euro per kilowatthour during the afternoon, but will only be activated from a lower boundary of 3000W." ;
rdfs:label "Incentive"@en ;
rdfs:subClassOf s4ener:DataPoint ;
.
s4ener:IncentiveTableBasedProfile
a owl:Class ;
rdfs:comment "This flexibility profile describes the usage of an incentive table to describe an incentive type in the form of costs (relative or absolute), CO2 emissions or renewable energy percentage that can be associated to power values (expressed as a time-series of power data-points)."@en ;
rdfs:label "Incentive table based profile"@en ;
rdfs:subClassOf s4ener:FlexibilityProfile ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom xsd:boolean ;
owl:onProperty s4ener:isChangeable ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom xsd:boolean ;
owl:onProperty s4ener:requiresUpdate ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom s4ener:ScopeType ;
owl:onProperty s4ener:hasScopeType ;
] ;
.
s4ener:IncentiveTableSlot
a owl:Class ;
rdfs:comment "This concept describes a slot that belongs to a Incentive Table. Each slot of the Incentive Table consists of a series of (lower) boundaries, each indicating the power at which a change to another incentive takes place. Additionally, each boundary is associated with a IncentiveTableTier." ;
rdfs:label "Incentive table slot"@en ;
rdfs:subClassOf s4ener:Slot ;
.
s4ener:IncentiveTableTier
a owl:Class ;
rdfs:comment "This concept specifies a Tier that an Incentive Table consists of. Each Tier indicates through a series of Boundaries the price per kilowatthour this incentive costs. For example, a tier may describe grid power, solar panel power, or surplus power." ;
rdfs:label "Incentive table tier"@en ;
rdfs:subClassOf s4ener:TimeSeries ;
.
s4ener:IncentiveType
a owl:Class ;
rdfs:comment "In the incentive table, an incentive type is defined in the form of costs (relative or absolute), CO2 emissions or renewable energy percentage."@en ;
rdfs:label "Incentive Type"@en ;
.
s4ener:Increase
a owl:NamedIndividual ;
a s4ener:EventActionConsume ;
a s4ener:EventActionProduce ;
rdfs:comment "Load control event action with value 'increase'"@en ;
rdfs:label "Increase"@en ;
.
s4ener:InstructionStatus
a owl:Class ;
rdfs:comment "The status an instruction has at a specific moment." ;
rdfs:label "Instruction Status"@en ;
rdfs:subClassOf owl:Thing ;
.
s4ener:Interrupted
a s4ener:PowerSequenceStatus ;
rdfs:comment "The selected PPBC.PowerSequence is being executed, but is currently interrupted and will continue afterwards" ;
rdfs:label "Interrupted"@en ;
.
s4ener:InterruptionInstruction
a owl:Class ;
rdfs:comment "An instruction indicating an interruption to the process." ;
rdfs:label "Interruption Instruction"@en ;
rdfs:subClassOf s4ener:PPBCInstruction ;
.
s4ener:Invalid
a owl:NamedIndividual ;
a s4ener:PowerSequenceState ;
rdfs:comment "Power sequence state with value 'invalid'"@en ;
rdfs:label "Invalid"@en ;
.
s4ener:LatestEndTime
a owl:Class ;
rdfs:comment """The latest possible end time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.
Note: This element applies to the first repetition of the slot number only."""@en ;
rdfs:label "Latest end time"@en ;
rdfs:subClassOf time:TemporalEntity ;
owl:deprecated true ;
.
s4ener:LeakageBehaviour
a owl:Class ;
rdfs:comment "A description of the Leakage Behaviour associated with this Fill Rate Flexibility Profile." ;
rdfs:label "Leakage behaviour"@en ;
rdfs:subClassOf owl:Thing ;
.
s4ener:LeakageBehaviourElement
a owl:Class ;
rdfs:comment "An element detailing the leakage behaviour of a storage." ;
rdfs:label "Leakage behaviour element"@en ;
rdfs:subClassOf owl:Thing ;
.
s4ener:LoadControlEventAction
a owl:Class ;
rdfs:comment "An action type used to express the action to be performed as a consequence of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."@en ;
rdfs:label "Load Control event action"@en ;
.
s4ener:LoadControlEventData
a owl:Class ;
rdfs:comment "An event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."@en ;
rdfs:label "Load control event data"@en ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom xsd:dateTime ;
owl:onProperty saref:hasTimestamp ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom s4ener:Device ;
owl:onProperty s4ener:hasDevice ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom s4ener:EventActionConsume ;
owl:onProperty s4ener:triggersEventActionConsume ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom s4ener:EventActionProduce ;
owl:onProperty s4ener:triggersEventActionProduce ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:allValuesFrom s4ener:TimePeriod ;
owl:onProperty saref:hasTime ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:minCardinality "0"^^xsd:nonNegativeInteger ;
owl:onProperty s4ener:eventID ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
owl:onClass s4ener:EventActionConsume ;
owl:onProperty s4ener:triggersEventActionConsume ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
owl:onClass s4ener:EventActionProduce ;
owl:onProperty s4ener:triggersEventActionProduce ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onClass s4ener:Device ;
owl:onProperty s4ener:hasDevice ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onClass s4ener:TimePeriod ;
owl:onProperty saref:hasTime ;
] ;
rdfs:subClassOf [
a owl:Restriction ;
owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onDataRange xsd:dateTime ;
owl:onProperty saref:hasTimestamp ;
] ;