@prefix : <https://w3id.org/celine-eu#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <https://w3id.org/celine-eu#> .

<https://w3id.org/celine-eu> rdf:type owl:Ontology ;
                              owl:versionIRI <https://w3id.org/celine-eu/v0.4> ;
                              owl:imports <https://purl.org/peco/peco-core> ,
                                          <https://raw.githubusercontent.com/BeeGroup-cimne/biggontology/776e245668bba171b0eacfccfa9d6e5166860d8e/extensions/bigg4kpi.ttl> ,
                                          <https://raw.githubusercontent.com/BeeGroup-cimne/biggontology/776e245668bba171b0eacfccfa9d6e5166860d8e/ontology/ontology.ttl> ,
                                          <https://raw.githubusercontent.com/w3c/sdw/dee1bdd3c339d8a0ab512c7f9bc97a08912ad7d6/ssn/integrated/sosa.ttl> ,
                                          <https://saref.etsi.org/core/v3.1.1/saref.ttl> ,
                                          <https://saref.etsi.org/saref4ener/v1.2.1/saref4ener.ttl> ;
                              <http://purl.org/dc/terms/created> "2026-03-24"^^xsd:date ;
                              <http://purl.org/dc/terms/description> """The CELINE Core Ontology is a lightweight orchestration profile for
    Renewable Energy Communities (RECs) and Digital Twin workflows. It connects established
    standards — PECO, SAREF, SAREF4ENER, SOSA/SSN and BIGG — without redefining their domain
    semantics, providing a minimal coordination layer for simulation scenarios, dataset
    references, KPI evaluation, and REC flexibility commitment and settlement.""" ;
                              <http://purl.org/dc/terms/license> <https://creativecommons.org/licenses/by/4.0/> ;
                              <http://purl.org/dc/terms/title> "CELINE Core Ontology" ;
                              <http://purl.org/vocab/vann/preferredNamespacePrefix> "celine" ;
                              <http://purl.org/vocab/vann/preferredNamespaceUri> "https://w3id.org/celine-eu#" ;
                              rdfs:label "CELINE Core Ontology" ;
                              rdfs:seeAlso <https://celine-eu.github.io/> ,
                                           <https://github.com/celine-eu> ,
                                           <https://www.celineproject.eu/> ;
                              owl:priorVersion <https://w3id.org/celine-eu/v0.3> ;
                              owl:versionInfo "0.4" .

#################################################################
#    Annotation properties
#################################################################

###  http://www.w3.org/2004/02/skos/core#topConceptOf
<http://www.w3.org/2004/02/skos/core#topConceptOf> rdf:type owl:AnnotationProperty .


#################################################################
#    Object Properties
#################################################################

###  https://w3id.org/celine-eu#committedBy
:committedBy rdf:type owl:ObjectProperty ;
             rdfs:domain :FlexibilityCommitment ;
             rdfs:range <https://purl.org/peco/peco-core#Energy_community_member> ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "committed by" .


###  https://w3id.org/celine-eu#creditFor
:creditFor rdf:type owl:ObjectProperty ;
           owl:inverseOf :generatesCredit ;
           rdfs:domain :FlexibilityCredit ;
           rdfs:range :FlexibilityCommitment ;
           rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
           rdfs:label "credit for" .


###  https://w3id.org/celine-eu#earnedBy
:earnedBy rdf:type owl:ObjectProperty ;
          rdfs:domain :FlexibilityCredit ;
          rdfs:range <https://purl.org/peco/peco-core#Energy_community_member> ;
          rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
          rdfs:label "earned by" .


###  https://w3id.org/celine-eu#envelopeFor
:envelopeFor rdf:type owl:ObjectProperty ;
             rdfs:domain :FlexibilityEnvelope ;
             rdfs:range <https://purl.org/peco/peco-core#Electric_POD> ;
             rdfs:comment "The POD whose physical and operational flexibility is described by this envelope." ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "envelope for" .


###  https://w3id.org/celine-eu#evaluatesKPI
:evaluatesKPI rdf:type owl:ObjectProperty ;
              rdfs:domain :KPIEvaluation ;
              rdfs:range <https://w3id.org/bigg/ontology#KPI> ;
              rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
              rdfs:label "evaluates KPI" .


###  https://w3id.org/celine-eu#evidencedBy
:evidencedBy rdf:type owl:ObjectProperty ;
             rdfs:domain :FlexibilityCredit ;
             rdfs:range <http://www.w3.org/ns/sosa/Observation> ;
             rdfs:comment "SOSA observation(s) that meter the actual flexibility delivered, grounding the credit in measured data." ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "evidenced by" .


###  https://w3id.org/celine-eu#generatesCredit
:generatesCredit rdf:type owl:ObjectProperty ;
                 rdfs:domain :FlexibilityCommitment ;
                 rdfs:range :FlexibilityCredit ;
                 rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                 rdfs:label "generates credit" .


###  https://w3id.org/celine-eu#hasAvailabilityWindow
:hasAvailabilityWindow rdf:type owl:ObjectProperty ;
                       rdfs:domain :FlexibilityEnvelope ;
                       rdfs:range <http://www.w3.org/2006/time#Interval> ;
                       rdfs:comment "Time window(s) during which the flexibility declared in this envelope is available for activation." ;
                       rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                       rdfs:label "has availability window" .


###  https://w3id.org/celine-eu#hasCommitment
:hasCommitment rdf:type owl:ObjectProperty ;
               rdfs:domain :CommunityContext ;
               rdfs:range :FlexibilityCommitment ;
               rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
               rdfs:label "has flexibility commitment" .


###  https://w3id.org/celine-eu#hasCommitmentMode
:hasCommitmentMode rdf:type owl:ObjectProperty ;
                   rdfs:domain :FlexibilityCommitment ;
                   rdfs:range <http://www.w3.org/2004/02/skos/core#Concept> ;
                   rdfs:comment "Expected values: celine:Automated or celine:Voluntary." ;
                   rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                   rdfs:label "has commitment mode" .


###  https://w3id.org/celine-eu#hasCommunity
:hasCommunity rdf:type owl:ObjectProperty ;
              rdfs:domain :CommunityContext ;
              rdfs:range <https://purl.org/peco/peco-core#EnergyCommunity> ;
              rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
              rdfs:label "has energy community" .


###  https://w3id.org/celine-eu#hasConstraint
:hasConstraint rdf:type owl:ObjectProperty ;
               rdfs:domain :FlexibilityEnvelope ;
               rdfs:range :FlexibilityConstraint ;
               rdfs:comment "One or more operational constraints bounding how flexibility in this envelope may be activated." ;
               rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
               rdfs:label "has constraint" .


###  https://w3id.org/celine-eu#hasConstraintType
:hasConstraintType rdf:type owl:ObjectProperty ;
                   rdfs:domain :FlexibilityConstraint ;
                   rdfs:range <http://www.w3.org/2004/02/skos/core#Concept> ;
                   rdfs:comment "Expected values: celine:DurationConstraint, celine:NoticeConstraint, celine:RecoveryConstraint, celine:FrequencyConstraint." ;
                   rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                   rdfs:label "has constraint type" .


###  https://w3id.org/celine-eu#hasCostItem
:hasCostItem rdf:type owl:ObjectProperty ;
             rdfs:domain :SettlementRun ;
             rdfs:range :CostItem ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "has cost item" .


###  https://w3id.org/celine-eu#hasCostType
:hasCostType rdf:type owl:ObjectProperty ;
             rdfs:domain :CostItem ;
             rdfs:range <http://www.w3.org/2004/02/skos/core#Concept> ;
             rdfs:comment "Expected values: celine:AdminCost, celine:Fee, or celine:Debt." ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "has cost type" .


###  https://w3id.org/celine-eu#hasEnvelope
:hasEnvelope rdf:type owl:ObjectProperty ;
             rdfs:domain :CommunityContext ;
             rdfs:range :FlexibilityEnvelope ;
             rdfs:comment "Links a CommunityContext to the declared flexibility capability envelopes of its PODs." ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "has flexibility envelope" .


###  https://w3id.org/celine-eu#hasFlexibilityDirection
:hasFlexibilityDirection rdf:type owl:ObjectProperty ;
                         rdfs:domain :FlexibilityCommitment ;
                         rdfs:range <http://www.w3.org/2004/02/skos/core#Concept> ;
                         rdfs:comment "Expected values: celine:FlexDown or celine:FlexUp." ;
                         rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                         rdfs:label "has flexibility direction" .


###  https://w3id.org/celine-eu#hasKPIEvaluation
:hasKPIEvaluation rdf:type owl:ObjectProperty ;
                  rdfs:domain :SimulationRun ;
                  rdfs:range :KPIEvaluation ;
                  rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                  rdfs:label "has KPI evaluation" .


###  https://w3id.org/celine-eu#hasRedistributionResult
:hasRedistributionResult rdf:type owl:ObjectProperty ;
                         rdfs:domain :SettlementRun ;
                         rdfs:range :RedistributionResult ;
                         rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                         rdfs:label "has redistribution result" .


###  https://w3id.org/celine-eu#hasScenario
:hasScenario rdf:type owl:ObjectProperty ;
             rdfs:domain :Simulation ;
             rdfs:range :Scenario ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "has scenario" .


###  https://w3id.org/celine-eu#hasSettlementRun
:hasSettlementRun rdf:type owl:ObjectProperty ;
                  rdfs:domain :CommunityContext ;
                  rdfs:range :SettlementRun ;
                  rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                  rdfs:label "has settlement run" .


###  https://w3id.org/celine-eu#hasSimulation
:hasSimulation rdf:type owl:ObjectProperty ;
               rdfs:domain :CommunityContext ;
               rdfs:range :Simulation ;
               rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
               rdfs:label "has simulation" .


###  https://w3id.org/celine-eu#hasSimulationRun
:hasSimulationRun rdf:type owl:ObjectProperty ;
                  rdfs:domain :Simulation ;
                  rdfs:range :SimulationRun ;
                  rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                  rdfs:label "has simulation run" .


###  https://w3id.org/celine-eu#hasTimeInterval
:hasTimeInterval rdf:type owl:ObjectProperty ;
                 rdfs:range <http://www.w3.org/2006/time#Interval> ;
                 rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                 rdfs:label "has time interval" .


###  https://w3id.org/celine-eu#onPOD
:onPOD rdf:type owl:ObjectProperty ;
       rdfs:domain :FlexibilityCommitment ;
       rdfs:range <https://purl.org/peco/peco-core#Electric_POD> ;
       rdfs:comment "One or more delivery points through which the committed flexibility is provided." ;
       rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
       rdfs:label "on POD" .


###  https://w3id.org/celine-eu#producesDataset
:producesDataset rdf:type owl:ObjectProperty ;
                 rdfs:domain :SimulationRun ;
                 rdfs:range :DatasetReference ;
                 rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                 rdfs:label "produces dataset" .


###  https://w3id.org/celine-eu#resultFor
:resultFor rdf:type owl:ObjectProperty ;
           rdfs:domain :RedistributionResult ;
           rdfs:range <https://purl.org/peco/peco-core#Energy_community_member> ;
           rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
           rdfs:label "result for" .


###  https://w3id.org/celine-eu#settlesContext
:settlesContext rdf:type owl:ObjectProperty ;
                owl:inverseOf :hasSettlementRun ;
                rdfs:domain :SettlementRun ;
                rdfs:range :CommunityContext ;
                rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                rdfs:label "settles context" .


###  https://w3id.org/celine-eu#usesAsset
:usesAsset rdf:type owl:ObjectProperty ;
           rdfs:domain :CommunityContext ;
           rdfs:range <https://saref.etsi.org/core/Device> ;
           rdfs:comment "References SAREF or SAREF4ENER devices." ;
           rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
           rdfs:label "uses asset" .


###  https://w3id.org/celine-eu#usesDataset
:usesDataset rdf:type owl:ObjectProperty ;
             rdfs:domain :SimulationRun ;
             rdfs:range :DatasetReference ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "uses dataset" .


###  https://w3id.org/celine-eu#usesObservation
:usesObservation rdf:type owl:ObjectProperty ;
                 rdfs:domain :SimulationRun ;
                 rdfs:range <http://www.w3.org/ns/sosa/Observation> ;
                 rdfs:comment "References SOSA observations (e.g. weather, sensors)." ;
                 rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                 rdfs:label "uses observation" .


###  https://w3id.org/celine-eu#withinEnvelope
:withinEnvelope rdf:type owl:ObjectProperty ;
                rdfs:domain :FlexibilityCommitment ;
                rdfs:range :FlexibilityEnvelope ;
                rdfs:comment "The FlexibilityEnvelope from which this commitment draws; commitment amounts must not exceed envelope bounds." ;
                rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                rdfs:label "within envelope" .


#################################################################
#    Data properties
#################################################################

###  https://w3id.org/celine-eu#availableEnergy
:availableEnergy rdf:type owl:DatatypeProperty ;
                 rdfs:domain :FlexibilityEnvelope ;
                 rdfs:range xsd:decimal ;
                 rdfs:comment "Total energy available for flexibility delivery within the availability window (kWh)." ;
                 rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                 rdfs:label "available energy" .


###  https://w3id.org/celine-eu#conversionRate
:conversionRate rdf:type owl:DatatypeProperty ;
                rdfs:domain :SettlementRun ;
                rdfs:range xsd:decimal ;
                rdfs:comment "Monetary value per kWh of flexibility credit (e.g., EUR/kWh). Applied uniformly to all members in this settlement period." ;
                rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                rdfs:label "conversion rate" .


###  https://w3id.org/celine-eu#costAmount
:costAmount rdf:type owl:DatatypeProperty ;
            rdfs:domain :CostItem ;
            rdfs:range xsd:decimal ;
            rdfs:comment "Monetary amount of this cost voice, in the currency of the enclosing SettlementRun." ;
            rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
            rdfs:label "cost amount" .


###  https://w3id.org/celine-eu#costDeduction
:costDeduction rdf:type owl:DatatypeProperty ;
               rdfs:domain :RedistributionResult ;
               rdfs:range xsd:decimal ;
               rdfs:comment "Member's allocated share of the total SettlementRun CostItems." ;
               rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
               rdfs:label "cost deduction" .


###  https://w3id.org/celine-eu#creditAmount
:creditAmount rdf:type owl:DatatypeProperty ;
              rdfs:domain :FlexibilityCredit ;
              rdfs:range xsd:decimal ;
              rdfs:comment "Flexibility actually delivered, in kWh. May be less than or equal to the commitment's targetFlexibility." ;
              rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
              rdfs:label "credit amount" .


###  https://w3id.org/celine-eu#creditBalance
:creditBalance rdf:type owl:DatatypeProperty ;
               rdfs:domain :RedistributionResult ;
               rdfs:range xsd:decimal ;
               rdfs:comment "Total flexibility credits (kWh) accumulated by this member in the settlement period." ;
               rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
               rdfs:label "credit balance" .


###  https://w3id.org/celine-eu#currency
:currency rdf:type owl:DatatypeProperty ;
          rdfs:domain :SettlementRun ;
          rdfs:range xsd:string ;
          rdfs:comment "ISO 4217 currency code for all monetary amounts in this settlement (e.g., 'EUR')." ;
          rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
          rdfs:label "currency" .


###  https://w3id.org/celine-eu#grossAmount
:grossAmount rdf:type owl:DatatypeProperty ;
             rdfs:domain :RedistributionResult ;
             rdfs:range xsd:decimal ;
             rdfs:comment "Monetary value of the member's credit balance before cost deductions (creditBalance × conversionRate)." ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "gross amount" .


###  https://w3id.org/celine-eu#maxActivationDuration
:maxActivationDuration rdf:type owl:DatatypeProperty ;
                       rdfs:domain :FlexibilityConstraint ;
                       rdfs:range xsd:duration ;
                       rdfs:comment "Maximum duration for which a flexibility activation may be maintained (ISO 8601 duration, e.g. PT4H)." ;
                       rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                       rdfs:label "max activation duration" .


###  https://w3id.org/celine-eu#maxActivationsPerDay
:maxActivationsPerDay rdf:type owl:DatatypeProperty ;
                      rdfs:domain :FlexibilityConstraint ;
                      rdfs:range xsd:integer ;
                      rdfs:comment "Maximum number of flexibility activation events permitted within a 24-hour period." ;
                      rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                      rdfs:label "max activations per day" .


###  https://w3id.org/celine-eu#maxFlexDown
:maxFlexDown rdf:type owl:DatatypeProperty ;
             rdfs:domain :FlexibilityEnvelope ;
             rdfs:range xsd:decimal ;
             rdfs:comment "Maximum downward flexibility available from this envelope (kW). Positive value; represents decrease in net load or increase in local generation." ;
             rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
             rdfs:label "max flex down" .


###  https://w3id.org/celine-eu#maxFlexUp
:maxFlexUp rdf:type owl:DatatypeProperty ;
           rdfs:domain :FlexibilityEnvelope ;
           rdfs:range xsd:decimal ;
           rdfs:comment "Maximum upward flexibility available from this envelope (kW). Positive value; represents increase in net load or decrease in local generation." ;
           rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
           rdfs:label "max flex up" .


###  https://w3id.org/celine-eu#minActivationDuration
:minActivationDuration rdf:type owl:DatatypeProperty ;
                       rdfs:domain :FlexibilityConstraint ;
                       rdfs:range xsd:duration ;
                       rdfs:comment "Minimum duration for which a flexibility activation must be sustained once started (ISO 8601 duration, e.g. PT30M)." ;
                       rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                       rdfs:label "min activation duration" .


###  https://w3id.org/celine-eu#minNotificationTime
:minNotificationTime rdf:type owl:DatatypeProperty ;
                     rdfs:domain :FlexibilityConstraint ;
                     rdfs:range xsd:duration ;
                     rdfs:comment "Minimum lead time required before a flexibility activation can start (ISO 8601 duration, e.g. PT15M)." ;
                     rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                     rdfs:label "min notification time" .


###  https://w3id.org/celine-eu#minRecoveryTime
:minRecoveryTime rdf:type owl:DatatypeProperty ;
                 rdfs:domain :FlexibilityConstraint ;
                 rdfs:range xsd:duration ;
                 rdfs:comment "Minimum rest period required between two consecutive flexibility activations (ISO 8601 duration, e.g. PT1H)." ;
                 rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                 rdfs:label "min recovery time" .


###  https://w3id.org/celine-eu#netAmount
:netAmount rdf:type owl:DatatypeProperty ;
           rdfs:domain :RedistributionResult ;
           rdfs:range xsd:decimal ;
           rdfs:comment "Final redistribution amount for this member (grossAmount − costDeduction)." ;
           rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
           rdfs:label "net amount" .


###  https://w3id.org/celine-eu#targetFlexibility
:targetFlexibility rdf:type owl:DatatypeProperty ;
                   rdfs:domain :FlexibilityCommitment ;
                   rdfs:range xsd:decimal ;
                   rdfs:comment "Committed flexibility amount in kWh. Positive value; direction is expressed by hasFlexibilityDirection." ;
                   rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                   rdfs:label "target flexibility" .


#################################################################
#    Classes
#################################################################

###  https://purl.org/peco/peco-core#EnergyCommunity
<https://purl.org/peco/peco-core#EnergyCommunity> rdf:type owl:Class .


###  https://w3id.org/bigg/ontology#KPI
<https://w3id.org/bigg/ontology#KPI> rdf:type owl:Class .


###  https://w3id.org/celine-eu#CommunityContext
:CommunityContext rdf:type owl:Class ;
                  rdfs:comment """Operational context binding a PECO Energy Community
    with assets, datasets, simulations and flexibility commitments.""" ;
                  rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                  rdfs:label "Community Context" ;
                  <http://www.w3.org/2004/02/skos/core#example> """ex:ctx1 a celine:CommunityContext ;
    celine:hasCommunity    ex:rec_valdarno ;
    celine:usesAsset       ex:pv_panel_01 ;
    celine:hasSimulation   ex:sim_baseline ;
    celine:hasCommitment   ex:fc_001 ;
    celine:hasSettlementRun ex:sr_2025_q3 .""" .


###  https://w3id.org/celine-eu#CostItem
:CostItem rdf:type owl:Class ;
          rdfs:comment """A named cost voice within a SettlementRun (e.g., administrative fee,
    platform fee, outstanding debt). Enables transparent cost breakdown before redistribution
    amounts are finalised.""" ;
          rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
          rdfs:label "Cost Item" ;
          <http://www.w3.org/2004/02/skos/core#example> """ex:cost_admin a celine:CostItem ;
    celine:hasCostType  celine:AdminCost ;
    dct:description     \"Community administration fee Q3 2025\" ;
    celine:costAmount   \"120.00\"^^xsd:decimal .

ex:cost_platform_fee a celine:CostItem ;
    celine:hasCostType  celine:Fee ;
    dct:description     \"CELINE platform usage fee Q3 2025\" ;
    celine:costAmount   \"45.00\"^^xsd:decimal .""" .


###  https://w3id.org/celine-eu#DatasetReference
:DatasetReference rdf:type owl:Class ;
                  rdfs:comment """Reference to an external dataset used as input or produced as output.
    CELINE does not define dataset schemas.""" ;
                  rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                  rdfs:label "Dataset Reference" ;
                  <http://www.w3.org/2004/02/skos/core#example> """ex:ds_irradiance a celine:DatasetReference ;
    dct:identifier  \"irradiance-2025-07\" ;
    dct:source      <https://data.example.org/weather/irradiance> .""" .


###  https://w3id.org/celine-eu#FlexibilityCommitment
:FlexibilityCommitment rdf:type owl:Class ;
                       rdfs:comment """A member's pledge to provide a specific amount of flexibility
    on one or more of their PODs during a given time window. The commitment can be
    automated (device-driven) or voluntary (manually activated by the member).""" ;
                       rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                       rdfs:label "Flexibility Commitment" ;
                       <http://www.w3.org/2004/02/skos/core#example> """ex:fc_001 a celine:FlexibilityCommitment ;
    celine:committedBy              ex:member_rossi ;
    celine:onPOD                    ex:pod_rossi_heatpump ;
    celine:hasCommitmentMode        celine:Automated ;
    celine:hasFlexibilityDirection  celine:FlexDown ;
    celine:targetFlexibility        \"2.5\"^^xsd:decimal ;
    celine:hasTimeInterval          ex:interval_2025_07_01 ;
    celine:generatesCredit          ex:cr_001 .""" .


###  https://w3id.org/celine-eu#FlexibilityConstraint
:FlexibilityConstraint rdf:type owl:Class ;
                       rdfs:comment """Operational constraint governing when and how flexibility declared in a
    FlexibilityEnvelope may be activated. Encodes timing rules (minimum notice period, minimum
    and maximum activation duration, recovery time between activations) and frequency limits.""" ;
                       rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                       rdfs:label "Flexibility Constraint" ;
                       <http://www.w3.org/2004/02/skos/core#example> """ex:constraint_hp a celine:FlexibilityConstraint ;
    celine:hasConstraintType     celine:DurationConstraint ;
    celine:minNotificationTime   \"PT15M\"^^xsd:duration ;
    celine:minActivationDuration \"PT30M\"^^xsd:duration ;
    celine:maxActivationDuration \"PT4H\"^^xsd:duration ;
    celine:minRecoveryTime       \"PT1H\"^^xsd:duration ;
    celine:maxActivationsPerDay  \"3\"^^xsd:integer .""" .


###  https://w3id.org/celine-eu#FlexibilityCredit
:FlexibilityCredit rdf:type owl:Class ;
                   rdfs:comment """Credit awarded to a member for fulfilling (fully or partially)
    a FlexibilityCommitment. Denominated in kWh and backed by metered SOSA observations.
    Credits accumulate until reconciled in a SettlementRun.""" ;
                   rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                   rdfs:label "Flexibility Credit" ;
                   <http://www.w3.org/2004/02/skos/core#example> """ex:cr_001 a celine:FlexibilityCredit ;
    celine:earnedBy     ex:member_rossi ;
    celine:creditFor    ex:fc_001 ;
    celine:creditAmount \"2.1\"^^xsd:decimal ;
    celine:evidencedBy  ex:obs_pod_rossi_20250701T10 .""" .


###  https://w3id.org/celine-eu#FlexibilityEnvelope
:FlexibilityEnvelope rdf:type owl:Class ;
                     rdfs:comment """Declared capability of a Point of Delivery (POD) to provide flexibility
    within a given availability window. Captures the physical bounds — maximum upward and downward
    power and available energy — that constrain any FlexibilityCommitment drawn from it.
    Aligned with saref4ener:PowerProfile for device-level scheduling semantics.""" ;
                     rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                     rdfs:label "Flexibility Envelope" ;
                     rdfs:seeAlso <https://saref.etsi.org/saref4ener/> ;
                     <http://www.w3.org/2004/02/skos/core#example> """ex:env_hp a celine:FlexibilityEnvelope ;
    celine:envelopeFor           ex:pod_rossi_heatpump ;
    celine:maxFlexUp             \"2.0\"^^xsd:decimal ;
    celine:maxFlexDown           \"3.0\"^^xsd:decimal ;
    celine:availableEnergy       \"6.0\"^^xsd:decimal ;
    celine:hasAvailabilityWindow ex:window_morning ;
    celine:hasConstraint         ex:constraint_hp .""" .


###  https://w3id.org/celine-eu#KPIEvaluation
:KPIEvaluation rdf:type owl:Class ;
               rdfs:comment "Evaluation of a BIGG KPI in a specific Scenario or SimulationRun." ;
               rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
               rdfs:label "KPI Evaluation" ;
               <http://www.w3.org/2004/02/skos/core#example> """ex:kpi_self_sufficiency a celine:KPIEvaluation ;
    celine:evaluatesKPI bigg:SelfSufficiencyRate ;
    rdf:value           \"0.72\"^^xsd:decimal .""" .


###  https://w3id.org/celine-eu#RedistributionResult
:RedistributionResult rdf:type owl:Class ;
                      rdfs:comment """The calculated redistribution outcome for a single member within a
    SettlementRun. Records credit balance (kWh), gross monetary value before deductions,
    the member's allocated share of community costs, and the final net amount.""" ;
                      rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                      rdfs:label "Redistribution Result" ;
                      <http://www.w3.org/2004/02/skos/core#example> """ex:result_rossi a celine:RedistributionResult ;
    celine:resultFor        ex:member_rossi ;
    celine:creditBalance    \"2.1\"^^xsd:decimal ;
    celine:grossAmount      \"0.252\"^^xsd:decimal ;
    celine:costDeduction    \"0.048\"^^xsd:decimal ;
    celine:netAmount        \"0.204\"^^xsd:decimal .""" .


###  https://w3id.org/celine-eu#Scenario
:Scenario rdf:type owl:Class ;
          rdfs:comment """Definition of assumptions, temporal scope and configuration
    for one or more simulations.""" ;
          rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
          rdfs:label "Scenario" ;
          <http://www.w3.org/2004/02/skos/core#example> """ex:sc_summer a celine:Scenario ;
    rdfs:label              \"Summer 2025 baseline\" ;
    dct:description         \"24-hour simulation with historical irradiance data.\" ;
    celine:hasTimeInterval  ex:interval_2025_summer .""" .


###  https://w3id.org/celine-eu#SettlementRun
:SettlementRun rdf:type owl:Class ;
               rdfs:comment """Execution of the redistribution calculation for a settlement period.
    Aggregates FlexibilityCredits across all members, applies a linear conversion rate
    (kWh → monetary), deducts shared cost voices (CostItems), and produces one
    RedistributionResult per member.""" ;
               rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
               rdfs:label "Settlement Run" ;
               <http://www.w3.org/2004/02/skos/core#example> """ex:sr_2025_q3 a celine:SettlementRun ;
    celine:settlesContext           ex:ctx1 ;
    celine:hasTimeInterval          ex:interval_q3_2025 ;
    celine:conversionRate           \"0.12\"^^xsd:decimal ;
    celine:currency                 \"EUR\" ;
    celine:hasCostItem              ex:cost_admin, ex:cost_platform_fee ;
    celine:hasRedistributionResult  ex:result_rossi, ex:result_bianchi .""" .


###  https://w3id.org/celine-eu#Simulation
:Simulation rdf:type owl:Class ;
            rdfs:comment "Abstract simulation definition independent from execution." ;
            rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
            rdfs:label "Simulation" ;
            <http://www.w3.org/2004/02/skos/core#example> """ex:sim1 a celine:Simulation ;
    celine:hasScenario      ex:sc_summer ;
    celine:hasSimulationRun ex:run_001 .""" .


###  https://w3id.org/celine-eu#SimulationRun
:SimulationRun rdf:type owl:Class ;
               rdfs:comment "Concrete execution of a Simulation under a specific Scenario." ;
               rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
               rdfs:label "Simulation Run" ;
               <http://www.w3.org/2004/02/skos/core#example> """ex:run_001 a celine:SimulationRun ;
    celine:usesDataset      ex:ds_irradiance ;
    celine:producesDataset  ex:ds_energy_forecast ;
    celine:hasKPIEvaluation ex:kpi_self_sufficiency .""" .


#################################################################
#    Individuals
#################################################################

###  https://w3id.org/celine-eu#AdminCost
:AdminCost rdf:type owl:NamedIndividual ,
                    <http://www.w3.org/2004/02/skos/core#Concept> ;
           <http://www.w3.org/2004/02/skos/core#inScheme> :CostType ;
           rdfs:comment "Overhead and management costs for operating the REC." ;
           rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
           <http://www.w3.org/2004/02/skos/core#prefLabel> "Administrative Cost" ;
           <http://www.w3.org/2004/02/skos/core#topConceptOf> :CostType .


###  https://w3id.org/celine-eu#Automated
:Automated rdf:type owl:NamedIndividual ,
                    <http://www.w3.org/2004/02/skos/core#Concept> ;
           <http://www.w3.org/2004/02/skos/core#inScheme> :CommitmentMode ;
           rdfs:comment "Commitment fulfilled automatically by a smart device or control system, without manual intervention from the member." ;
           rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
           <http://www.w3.org/2004/02/skos/core#prefLabel> "Automated" ;
           <http://www.w3.org/2004/02/skos/core#topConceptOf> :CommitmentMode .


###  https://w3id.org/celine-eu#CommitmentMode
:CommitmentMode rdf:type owl:NamedIndividual ,
                         <http://www.w3.org/2004/02/skos/core#ConceptScheme> ;
                <http://purl.org/dc/terms/description> "Classification of how a flexibility commitment is activated." ;
                rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                rdfs:label "Commitment Mode" ;
                <http://www.w3.org/2004/02/skos/core#prefLabel> "Commitment Mode" .


###  https://w3id.org/celine-eu#ConstraintType
:ConstraintType rdf:type owl:NamedIndividual ,
                         <http://www.w3.org/2004/02/skos/core#ConceptScheme> ;
                <http://purl.org/dc/terms/description> "Classification of operational constraints on flexibility activation." ;
                rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                rdfs:label "Constraint Type" ;
                <http://www.w3.org/2004/02/skos/core#prefLabel> "Constraint Type" .


###  https://w3id.org/celine-eu#CostType
:CostType rdf:type owl:NamedIndividual ,
                   <http://www.w3.org/2004/02/skos/core#ConceptScheme> ;
          <http://purl.org/dc/terms/description> "Classification of cost voices within a SettlementRun." ;
          rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
          rdfs:label "Cost Type" ;
          <http://www.w3.org/2004/02/skos/core#prefLabel> "Cost Type" .


###  https://w3id.org/celine-eu#Debt
:Debt rdf:type owl:NamedIndividual ,
               <http://www.w3.org/2004/02/skos/core#Concept> ;
      <http://www.w3.org/2004/02/skos/core#inScheme> :CostType ;
      rdfs:comment "Outstanding obligation carried forward from a previous settlement period." ;
      rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
      <http://www.w3.org/2004/02/skos/core#prefLabel> "Debt" ;
      <http://www.w3.org/2004/02/skos/core#topConceptOf> :CostType .


###  https://w3id.org/celine-eu#DurationConstraint
:DurationConstraint rdf:type owl:NamedIndividual ,
                             <http://www.w3.org/2004/02/skos/core#Concept> ;
                    <http://www.w3.org/2004/02/skos/core#inScheme> :ConstraintType ;
                    rdfs:comment "Constraint on the minimum or maximum duration of a single flexibility activation event." ;
                    rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                    <http://www.w3.org/2004/02/skos/core#prefLabel> "Duration Constraint" ;
                    <http://www.w3.org/2004/02/skos/core#topConceptOf> :ConstraintType .


###  https://w3id.org/celine-eu#Fee
:Fee rdf:type owl:NamedIndividual ,
              <http://www.w3.org/2004/02/skos/core#Concept> ;
     <http://www.w3.org/2004/02/skos/core#inScheme> :CostType ;
     rdfs:comment "Platform, service or regulatory fee charged to the community." ;
     rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
     <http://www.w3.org/2004/02/skos/core#prefLabel> "Fee" ;
     <http://www.w3.org/2004/02/skos/core#topConceptOf> :CostType .


###  https://w3id.org/celine-eu#FlexDown
:FlexDown rdf:type owl:NamedIndividual ,
                   <http://www.w3.org/2004/02/skos/core#Concept> ;
          <http://www.w3.org/2004/02/skos/core#inScheme> :FlexibilityDirection ;
          rdfs:comment "Decrease community net consumption: reduce load or increase local generation." ;
          rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
          <http://www.w3.org/2004/02/skos/core#prefLabel> "Flex Down" ;
          <http://www.w3.org/2004/02/skos/core#topConceptOf> :FlexibilityDirection .


###  https://w3id.org/celine-eu#FlexUp
:FlexUp rdf:type owl:NamedIndividual ,
                 <http://www.w3.org/2004/02/skos/core#Concept> ;
        <http://www.w3.org/2004/02/skos/core#inScheme> :FlexibilityDirection ;
        rdfs:comment "Increase community net consumption: increase load or reduce local generation." ;
        rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
        <http://www.w3.org/2004/02/skos/core#prefLabel> "Flex Up" ;
        <http://www.w3.org/2004/02/skos/core#topConceptOf> :FlexibilityDirection .


###  https://w3id.org/celine-eu#FlexibilityDirection
:FlexibilityDirection rdf:type owl:NamedIndividual ,
                               <http://www.w3.org/2004/02/skos/core#ConceptScheme> ;
                      <http://purl.org/dc/terms/description> "Direction of the flexibility commitment relative to the community baseline." ;
                      rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                      rdfs:label "Flexibility Direction" ;
                      <http://www.w3.org/2004/02/skos/core#prefLabel> "Flexibility Direction" .


###  https://w3id.org/celine-eu#FrequencyConstraint
:FrequencyConstraint rdf:type owl:NamedIndividual ,
                              <http://www.w3.org/2004/02/skos/core#Concept> ;
                     <http://www.w3.org/2004/02/skos/core#inScheme> :ConstraintType ;
                     rdfs:comment "Constraint on the maximum number of flexibility activations permitted within a given period." ;
                     rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                     <http://www.w3.org/2004/02/skos/core#prefLabel> "Frequency Constraint" ;
                     <http://www.w3.org/2004/02/skos/core#topConceptOf> :ConstraintType .


###  https://w3id.org/celine-eu#NoticeConstraint
:NoticeConstraint rdf:type owl:NamedIndividual ,
                           <http://www.w3.org/2004/02/skos/core#Concept> ;
                  <http://www.w3.org/2004/02/skos/core#inScheme> :ConstraintType ;
                  rdfs:comment "Constraint on the minimum lead time required before activating flexibility." ;
                  rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                  <http://www.w3.org/2004/02/skos/core#prefLabel> "Notice Constraint" ;
                  <http://www.w3.org/2004/02/skos/core#topConceptOf> :ConstraintType .


###  https://w3id.org/celine-eu#RecoveryConstraint
:RecoveryConstraint rdf:type owl:NamedIndividual ,
                             <http://www.w3.org/2004/02/skos/core#Concept> ;
                    <http://www.w3.org/2004/02/skos/core#inScheme> :ConstraintType ;
                    rdfs:comment "Constraint on the minimum rest period required between consecutive flexibility activations." ;
                    rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
                    <http://www.w3.org/2004/02/skos/core#prefLabel> "Recovery Constraint" ;
                    <http://www.w3.org/2004/02/skos/core#topConceptOf> :ConstraintType .


###  https://w3id.org/celine-eu#Voluntary
:Voluntary rdf:type owl:NamedIndividual ,
                    <http://www.w3.org/2004/02/skos/core#Concept> ;
           <http://www.w3.org/2004/02/skos/core#inScheme> :CommitmentMode ;
           rdfs:comment "Commitment activated manually by the member at their discretion." ;
           rdfs:isDefinedBy <https://w3id.org/celine-eu> ;
           <http://www.w3.org/2004/02/skos/core#prefLabel> "Voluntary" ;
           <http://www.w3.org/2004/02/skos/core#topConceptOf> :CommitmentMode .


###  Generated by the OWL API (version 5.1.18) https://github.com/owlcs/owlapi/
