# DOLCE+DnS Ultralite in use on one case: the 2024 energy audit of the Nordstadt school in
# Karlsruhe. The DIN V 18599 audit protocol is the description; it defines the task of certifying
# a building, the role the boiler plays and the concept "energy efficiency class D", and the audit
# is the situation that satisfies it. The building is the entity being classified, its measured
# U-value the region of its thermal transmittance, and the energy performance certificate the
# information object realized by the signed PDF.

@prefix dul: <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#> .
@prefix ex: <https://w3id.org/ontoboard/example/eep#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

ex:Din18599AuditProtocol a owl:NamedIndividual , dul:Description ;
    rdfs:label "the DIN V 18599 energy audit protocol" ;
    dul:defines ex:EnergyEfficiencyClassD ;
    dul:definesRole ex:HeatSourceRole ;
    dul:definesTask ex:CertifyEnergyPerformance ;
    dul:describes ex:NordstadtSchoolBuilding ;
    dul:expands ex:BuildingsEnergyAct ;
    dul:introduces ex:StadtwerkeKarlsruhe ;
    dul:isSatisfiedBy ex:NordstadtSchoolAudit2024 .

ex:BuildingsEnergyAct a owl:NamedIndividual , dul:Description ;
    rdfs:label "the Buildings Energy Act (GEG 2020)" .

ex:NordstadtSchoolAudit2024 a owl:NamedIndividual , dul:Situation ;
    rdfs:label "the 2024 energy audit of the Nordstadt school" ;
    dul:includesAction ex:IssuingTheCertificate ;
    dul:includesAgent ex:ThomasBerger ;
    dul:includesEvent ex:HeatingSeason2023 ;
    dul:includesObject ex:GasCondensingBoiler ;
    dul:includesTime ex:HeatingSeasonInterval .

ex:ThomasBerger a owl:NamedIndividual , dul:Agent ;
    rdfs:label "Thomas Berger, the energy auditor" ;
    dul:actsFor ex:StadtwerkeKarlsruhe ;
    dul:conceptualizes ex:EuEnergyLabelScheme .

ex:StadtwerkeKarlsruhe a owl:NamedIndividual , dul:SocialAgent ;
    rdfs:label "Stadtwerke Karlsruhe, the municipal utility" .

ex:IssuingTheCertificate a owl:NamedIndividual , dul:Action ;
    rdfs:label "issuing the energy performance certificate on 17 January 2024" ;
    dul:executesTask ex:CertifyEnergyPerformance .

ex:CertifyEnergyPerformance a owl:NamedIndividual , dul:Task ;
    rdfs:label "certifying the energy performance of a building" .

ex:HeatSourceRole a owl:NamedIndividual , dul:Role ;
    rdfs:label "the heat source role in a heated building" ;
    dul:hasTask ex:CertifyEnergyPerformance .

ex:GasCondensingBoiler a owl:NamedIndividual , dul:Object ;
    rdfs:label "the gas condensing boiler in the basement" ;
    dul:hasRole ex:HeatSourceRole .

ex:EnergyEfficiencyClassD a owl:NamedIndividual , dul:Concept ;
    rdfs:label "the energy efficiency class D" ;
    dul:characterizes ex:KarlsruheSchoolStock ;
    dul:classifies ex:NordstadtSchoolBuilding ;
    dul:covers ex:KarlsruheSchoolStock ;
    dul:hasParameter ex:MaximumPrimaryEnergyDemand ;
    dul:isConceptUsedIn ex:Din18599AuditProtocol ;
    dul:isSubordinatedTo ex:EnergyEfficiencyClass .

ex:EnergyEfficiencyClass a owl:NamedIndividual , dul:Concept ;
    rdfs:label "the energy efficiency class of a building, A+ to H" .

ex:KarlsruheSchoolStock a owl:NamedIndividual , dul:Collection ;
    rdfs:label "the school building stock of the city of Karlsruhe" ;
    dul:hasMember ex:NordstadtSchoolBuilding ;
    dul:isUnifiedBy ex:Din18599AuditProtocol .

ex:NordstadtSchoolBuilding a owl:NamedIndividual , dul:Entity ;
    rdfs:label "the Nordstadt school building" ;
    dul:directlyFollows ex:NorthWing1974 ;
    dul:follows ex:NorthWing1974 ;
    dul:hasComponent ex:NorthWing1974 ;
    dul:hasConstituent ex:NorthWing1974 ;
    dul:hasConstraint ex:MaximumPrimaryEnergyDemand ;
    dul:hasDataValue "Rintheimer Querallee 2, 76131 Karlsruhe" ;
    dul:hasLocation ex:NorthWing1974 ;
    dul:hasPart ex:NorthWing1974 ;
    dul:hasQuality ex:EnvelopeThermalTransmittance ;
    dul:hasRegion ex:MeasuredUValue ;
    dul:hasSetting ex:NordstadtSchoolAudit2024 ;
    dul:isObservableAt ex:HeatingSeasonInterval ;
    dul:isReferenceOfInformationRealizedBy ex:SignedCertificatePdf .

ex:NorthWing1974 a owl:NamedIndividual , dul:Entity ;
    rdfs:label "the 1974 north wing of the Nordstadt school" .

ex:EnvelopeThermalTransmittance a owl:NamedIndividual , dul:Quality ;
    rdfs:label "the thermal transmittance of the building envelope" .

ex:MeasuredUValue a owl:NamedIndividual , dul:Region ;
    rdfs:label "the measured U-value, 1.4 W per square metre kelvin" ;
    dul:hasRegionDataValue "1.4" ;
    dul:isParametrizedBy ex:MaximumPrimaryEnergyDemand .

ex:MaximumPrimaryEnergyDemand a owl:NamedIndividual , dul:Parameter ;
    rdfs:label "the primary energy demand allowed for class D" ;
    dul:hasParameterDataValue "160 kWh per square metre and year" .

ex:HeatingSeason2023 a owl:NamedIndividual , dul:Event ;
    rdfs:label "the 2023/24 heating season at the school" ;
    dul:hasEventDate "2023-10-01" ;
    dul:hasParticipant ex:GasCondensingBoiler ;
    dul:hasTimeInterval ex:HeatingSeasonInterval ;
    dul:involvesAgent ex:ThomasBerger .

ex:HeatingSeasonInterval a owl:NamedIndividual , dul:TimeInterval ;
    rdfs:label "1 October 2023 to 30 April 2024" ;
    dul:hasIntervalDate "2023-10-01" .

ex:EnergyPerformanceCertificate a owl:NamedIndividual , dul:InformationObject ;
    rdfs:label "the energy performance certificate of the Nordstadt school" ;
    dul:expresses ex:EuEnergyLabelScheme ;
    dul:expressesConcept ex:EnergyEfficiencyClassD ;
    dul:isAbout ex:NordstadtSchoolBuilding ;
    dul:isRealizedBy ex:SignedCertificatePdf .

ex:SignedCertificatePdf a owl:NamedIndividual , dul:InformationRealization ;
    rdfs:label "the signed PDF, EPC-2024-0117.pdf" ;
    dul:concretelyExpresses ex:EuEnergyLabelScheme .

ex:EuEnergyLabelScheme a owl:NamedIndividual , dul:SocialObject ;
    rdfs:label "the EU energy label scheme" ;
    dul:isSpecializedBy ex:BuildingEnergyLabelScheme .

ex:BuildingEnergyLabelScheme a owl:NamedIndividual , dul:SocialObject ;
    rdfs:label "the energy label scheme for buildings" .

# Only one direction of each inverse pair is asserted: actsFor/actsThrough, characterizes/isCharacterizedBy, classifies/isClassifiedBy, conceptualizes/isConceptualizedBy, concretelyExpresses/isConcretelyExpressedBy, covers/isCoveredBy, defines/isDefinedIn, definesRole/isRoleDefinedIn, definesTask/isTaskDefinedIn, describes/isDescribedBy, directlyFollows/directlyPrecedes, executesTask/isExecutedIn, expands/isExpandedIn, expresses/isExpressedBy, expressesConcept/isConceptExpressedBy, follows/precedes, hasComponent/isComponentOf, hasConstituent/isConstituentOf, hasConstraint/isConstraintFor, hasLocation/isLocationOf, hasMember/isMemberOf, hasParameter/isParameterFor, hasPart/isPartOf, hasParticipant/isParticipantIn, hasPostcondition/isPostconditionOf, hasPrecondition/isPreconditionOf, hasProperPart/isPropertPartOf, hasQuality/isQualityOf, hasRegion/isRegionFor, hasRole/isRoleOf, hasSetting/isSettingFor, hasTask/isTaskOf, hasTimeInterval/isTimeIntervalOf, includesAction/isActionIncludedIn, includesAgent/isAgentIncludedIn, includesEvent/isEventIncludedIn, includesObject/isObjectIncludedIn, includesTime/isTimeIncludedIn, introduces/isIntroducedBy, involvesAgent/isAgentInvolvedIn, isAbout/isReferenceOf, isConceptUsedIn/usesConcept, isObservableAt/isTimeOfObservationOf, isParametrizedBy/parametrizes, isRealizedBy/realizes, isReferenceOfInformationRealizedBy/realizesInformationAbout, isSatisfiedBy/satisfies, isSpecializedBy/specializes, isSubordinatedTo/isSuperordinatedTo, isUnifiedBy/unifies. A reasoner adds the other.
