Commit af1c4b86 authored by Cornelis Bouter's avatar Cornelis Bouter
Browse files

add examples

parent 73c3508f
Loading
Loading
Loading
Loading
+192 −0
Original line number Diff line number Diff line
@prefix ex: <https://saref.etsi.org/saref4ener/v1.2.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#> .
@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/v1.2.1/example/heatingSystemPowerProfile#> a dctype:Dataset ;
  dcterms:conformsTo <https://saref.etsi.org/saref4ener/v1.2.1/> ;
  dcterms:title "SAREF4ENER Power Profile Example"@en ;
  dcterms:description "Example power profile of a heatingsystem based on how a power profile would be defined in SPINE."@en ;
  dcterms:abstract "Example power profile of a heatingsystem based on how a power profile would be defined in SPINE."@en ;
  owl:imports saref:, s4ener: ;
  dcterms:license <https://forge.etsi.org/etsi-software-license> ;
.

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
  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
  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
  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
  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 ;
.
ex: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
  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
  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
  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 ;
.
ex: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 ;
.
ex: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 ;
.
ex: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 ;
.
ex:Heating
  rdf:type saref:Task ;
  rdfs:label "Heating"^^xsd:string ;
.
ex:HeatingSystem
  rdf:type s4ener: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:Measurement_1
  rdf:type saref:Measurement ;
  rdfs:label "Measurement 1"^^xsd:string ;
  saref:hasValue "0.2"^^xsd:string ;
  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/kilowatt_hour> ;
  saref:relatesToProperty ex:Energy_1 ;
.
ex:Measurement_2
  rdf:type saref:Measurement ;
  rdfs:label "Measurement 2"^^xsd:string ;
  saref:hasValue "0.2"^^xsd:string ;
  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/kilowatt> ;
  saref:relatesToProperty ex:Power_1 ;
.
ex: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 ;
  s4ener:nodeRemoteControllable "true"^^xsd:boolean ;
  s4ener:supportsReselection "true"^^xsd:boolean ;
  s4ener:supportsSingleSlotSchedulingOnly "true"^^xsd:boolean ;
  s4ener:totalSequencesCountMax "1"^^xsd:unsignedInt ;
.
ex: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 ;
  s4ener:isPausable "false"^^xsd:boolean ;
  s4ener:isStoppable "false"^^xsd:boolean ;
.
ex: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 ;
  s4ener:greenest "true"^^xsd:boolean ;
  s4ener:isPausable "false"^^xsd:boolean ;
  s4ener:isStoppable "false"^^xsd:boolean ;
.
ex: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 ;
  s4ener:cheapest "true"^^xsd:boolean ;
  s4ener:isPausable "false"^^xsd:boolean ;
  s4ener:isStoppable "false"^^xsd:boolean ;
.
ex:Power_1
  rdf:type s4ener:Power ;
  rdfs:label "Power 1"^^xsd:string ;
  saref:isMeasuredByDevice ex:HeatingSystem ;
.
ex:Slot-1-HS0001
  rdf:type s4ener:Slot ;
  rdfs:label "Slot 1 HS0001"^^xsd:string ;
  s4ener:belongsTo ex:PowerSequence-1-HS0001 ;
  s4ener:hasSlotValue ex:Measurement_1, ex:Measurement_2 ;
  s4ener:slotNumber "1"^^xsd:unsignedInt ;
.
ex:Slot-2-HS0001
  rdf:type s4ener:Slot ;
  rdfs:label "Slot 2 HS0001"^^xsd:string ;
  s4ener:belongsTo ex:PowerSequence-2-HS0001 ;
  s4ener:slotNumber "2"^^xsd:unsignedInt ;
.
ex:Slot-3-HS0001
  rdf:type s4ener:Slot ;
  rdfs:label "Slot 3 HS0001"^^xsd:string ;
  s4ener:belongsTo ex:PowerSequence-3-HS0001 ;
  s4ener:slotNumber "3"^^xsd:unsignedInt ;
.
ex:Time_PowerProfile-1-HS0001
  rdf:type saref:Time ;
  rdfs:label "Time Power profile-1-HS0001"^^xsd:string ;
  saref:consistsOf ex:DateTimeInterval_PowerProfile-1-HS0001 ;
.

dcterms:abstract a owl:AnnotationProperty .
 No newline at end of file
+186 −0
Original line number Diff line number Diff line
@prefix : <https://saref.etsi.org/saref4ener/v1.2.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/v1.2.1/example/powerProfileExample#> 
  a dctype:Dataset ;
  dcterms:conformsTo <https://saref.etsi.org/saref4ener/v1.2.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" ;
.
:Measurement_1
  a saref:Measurement ;
  rdfs:label "Measurement 1" ;
  saref:hasValue "2000" ;
  saref:isMeasuredIn om-ucum:kilowattHour ;
  saref:relatesToProperty :Energy_1 ;
.
:Measurement_2
  a saref:Measurement ;
  rdfs:label "Measurement 2" ;
  saref:hasValue "1500" ;
  saref:isMeasuredIn om-ucum:kilowattHour ;
  saref:relatesToProperty :Power_1 ;
.
:Measurement_3
  a saref:Measurement ;
  rdfs:label "Measurement 3" ;
  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 ;
  s4ener:hasSlotValue :Measurement_3 ;
  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 .
 No newline at end of file

flexOfferExample.ttl

0 → 100644
+721 −0

File added.

Preview size limit exceeded, changes collapsed.