@prefix :      <https://w3id.org/sri#> .
@prefix schema: <https://schema.org/> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix terms: <http://purl.org/dc/terms/> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix skos:  <http://www.w3.org/2004/02/skos/core#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix bibo:  <http://purl.org/ontology/bibo/> .
@prefix cube:  <http://purl.org/linked-data/cube#> .
@prefix vann:  <http://purl.org/vocab/vann/> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .

:dsd-weights  a         cube:DataStructureDefinition , owl:NamedIndividual ;
        cube:component  [ cube:dimension  :function ] ;
        cube:component  [ cube:dimension  :impact ] ;
        cube:component  [ cube:measure  :weight ] .

:information_to_occupants
        a           :Impact , owl:NamedIndividual ;
        rdfs:label  "Information to occupants"@en .

schema:logo  a  owl:AnnotationProperty .

:optimiseEnergyEfficiencyAndOverallIn-UsePerformance
        a              :KeyCapability , owl:NamedIndividual ;
        rdfs:label     "Optimise energy efficiency and overall in-use performance"@en ;
        skos:narrower  :maintenance_and_fault_prediction , :energy_efficiency .

:serviceCatalogue  a  owl:ObjectProperty ;
        rdfs:comment  "Relates something to a ServiceCatalogue."@en ;
        rdfs:label    "service catalogue"@en ;
        rdfs:range    :ServiceCatalogue .

<https://orcid.org/0000-0003-3445-0504>
        rdfs:label          "Erwin Filtz" ;
        schema:affiliation  <https://www.siemens.at/> .

terms:source  a  owl:AnnotationProperty .

:dsd-scores  a          cube:DataStructureDefinition , owl:NamedIndividual ;
        cube:component  [ cube:measure  :score ] ;
        cube:component  [ cube:dimension  :function ] ;
        cube:component  [ cube:dimension  :impact ] .

:building  a          owl:ObjectProperty ;
        rdfs:comment  "Relates something to a Building."@en ;
        rdfs:label    "building"@en ;
        rdfs:range    :Building .

:level0  a          :Level , owl:NamedIndividual ;
        rdfs:label  "Level 0"@en .

:eV     a           :Domain , owl:NamedIndividual ;
        rdfs:label  "Electric vehicle charging"@en .

:dHW    a           :Domain , owl:NamedIndividual ;
        rdfs:label  "Domestic hot water"@en .

vann:preferredNamespaceUri
        a       owl:AnnotationProperty .

:KeyCapability  a        owl:Class ;
        rdfs:comment     "Class of all Key Capabilities, aggregation of Impacts."@en ;
        rdfs:label       "KeyCapability"@en ;
        rdfs:subClassOf  :ImpactThing ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :Impact ;
                           owl:onProperty     skos:narrower
                         ] .

<https://w3id.org/sri>
        a                              owl:Ontology ;
        rdfs:label                     "Smart Readiness Indicator Vocabulary"@en ;
        rdfs:seeAlso                   <https://energy.ec.europa.eu/topics/energy-efficiency/energy-efficient-buildings/smart-readiness-indicator_en> ;
        terms:bibliographicCitation    "Stefan Bischof, Erwin Filtz, Josiane Xavier Parreira. Smart Readiness Indicator Vocabulary. Revision: 1.0.0. Retrieved from: https://w3id.org/sri/1.0"@en ;
        terms:contributor              <https://orcid.org/0000-0003-3445-0504> , <https://orcid.org/0000-0002-3050-159X> ;
        terms:created                  "2022-02-02"^^xsd:date ;
        terms:creator                  <https://orcid.org/0000-0001-9521-8907> ;
        terms:description              "A vocabulary specifying concepts and structures needed to represent different data cubes needed for the Smart Readiness Indicator." ;
        terms:issued                   "2023-11-30"^^xsd:date ;
        terms:license                  <https://creativecommons.org/licenses/by/4.0/> ;
        terms:modified                 "2023-11-30"^^xsd:date ;
        terms:publisher                <https://www.siemens.at/> ;
        terms:source                   <https://data.europa.eu/doi/10.2833/41100> ;
        terms:title                    "Smart Readiness Indicator Vocabulary"@en ;
        bibo:doi                       "10.5281/zenodo.10047286" ;
        bibo:status                    <http://purl.org/ontology/bibo/status/published> ;
        vann:preferredNamespacePrefix  "sri" ;
        vann:preferredNamespaceUri     "https://w3id.org/sri#" ;
        owl:imports                    <http://purl.org/linked-data/cube> ;
        owl:versionIRI                 <https://w3id.org/sri/1.0> ;
        owl:versionInfo                "1.0.0" ;
        schema:funding                 <https://cordis.europa.eu/project/id/893079> ;
        schema:image                   <https://raw.githubusercontent.com/stefanbischof/sri/main/sridiagram.svg> ;
        schema:logo                    <https://raw.githubusercontent.com/stefanbischof/sri/main/srilogo.svg> .

:score  a                   cube:MeasureProperty , owl:NamedIndividual , owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment        "The smart-readiness score is defined for ImpactThings on all levels from Impacts to the complete Building (Steps 5, 6, and 7) and optionally for Domains (Step 8)"@en ;
        rdfs:label          "smart-readiness score"@en ;
        rdfs:range          [ a            rdfs:Datatype ;
                              owl:unionOf  ( xsd:decimal xsd:double xsd:float )
                            ] ;
        rdfs:subPropertyOf  <http://purl.org/linked-data/sdmx/2009/measure#obsValue> .

terms:creator  a  owl:AnnotationProperty .

:Impact  a                owl:Class ;
        rdfs:comment      "Class of Impacts."@en ;
        rdfs:label        "Impact"@en ;
        rdfs:subClassOf   :ImpactThing ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :KeyCapability ;
                            owl:onProperty     skos:broader
                          ] ;
        owl:disjointWith  :KeyCapability .

:Level  a             owl:Class ;
        rdfs:comment  "Class of service levels."@en ;
        rdfs:label    "Level"@en .

:ServiceLevel  a         owl:Class ;
        rdfs:comment     "Class for all ServiceLevel instances, which are all allowed/defined combinations of Services and Levels."@en ;
        rdfs:label       "Service level"@en ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      :level ;
                           owl:someValuesFrom  :Level
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      :function ;
                           owl:someValuesFrom  :Service
                         ] .

schema:image  a  owl:AnnotationProperty .

:topImpact  a          :ImpactThing , owl:NamedIndividual ;
        rdfs:label     "All impacts"@en ;
        skos:narrower  :optimiseEnergyEfficiencyAndOverallIn-UsePerformance , :adaptToSignalsFromTheGrid , :adaptTheirOperationToTheNeedsOfTheOccupant .

:Service  a              owl:Class ;
        rdfs:comment     "Class for Services."@en ;
        rdfs:label       "Service"@en ;
        rdfs:subClassOf  :FunctionalThing ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :Domain ;
                           owl:onProperty     skos:broader
                         ] .

:adaptTheirOperationToTheNeedsOfTheOccupant
        a              :KeyCapability , owl:NamedIndividual ;
        rdfs:label     "Adapt their operation to the needs of the occupant"@en ;
        skos:narrower  :information_to_occupants , :health_well_being_and_accessibility , :convenience , :comfort .

skos:broader  a  owl:ObjectProperty .

<https://orcid.org/0000-0002-3050-159X>
        rdfs:label          "Josiane Xavier Parreira" ;
        schema:affiliation  <https://www.siemens.at/> .

terms:publisher  a  owl:AnnotationProperty .

:Building  a          owl:Class ;
        rdfs:comment  "This represents a building which is assessed."@en ;
        rdfs:label    "Building"@en .

:function  a          owl:NamedIndividual , owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Relates something to a FunctionalThing."@en ;
        rdfs:label    "function"@en ;
        rdfs:range    :FunctionalThing .

schema:funding  a  owl:AnnotationProperty .

:share  a             owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment  "A percentage (value between 0.0 and 1.0) which expresses that parts of a building are assessed with different levels wrt. a Service. If share is < 100% then additionalLevel has to be defined."@en ;
        rdfs:label    "share"@en ;
        rdfs:range    [ a            rdfs:Datatype ;
                        owl:unionOf  ( xsd:decimal xsd:double xsd:float )
                      ] .

<https://orcid.org/0000-0001-9521-8907>
        rdfs:label          "Stefan Bischof" ;
        schema:affiliation  <https://www.siemens.at/> .

:lighting  a        :Domain , owl:NamedIndividual ;
        rdfs:label  "Lighting"@en .

:adaptToSignalsFromTheGrid
        a              :KeyCapability , owl:NamedIndividual ;
        rdfs:label     "Adapt to signals from the grid"@en ;
        skos:narrower  :energy_flexibility_and_storage .

:level4  a          :Level , owl:NamedIndividual ;
        rdfs:label  "Level 4"@en .

:cooling  a         :Domain , owl:NamedIndividual ;
        rdfs:label  "Cooling"@en .

bibo:status  a  owl:AnnotationProperty .

:assessment  a        owl:ObjectProperty ;
        rdfs:comment  "Relates something to an assessment dataset."@en ;
        rdfs:label    "assessment"@en ;
        rdfs:range    cube:DataSet ;
        rdfs:range    [ a               owl:Restriction ;
                        owl:hasValue    :dsd-assessment ;
                        owl:onProperty  cube:structure
                      ] .

:electricity  a     :Domain , owl:NamedIndividual ;
        rdfs:label  "Electricity"@en .

<https://www.siemens.at/>
        rdfs:label  "Siemens AG Österreich" .

:level  a             owl:NamedIndividual , owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Relates something to a Level."@en ;
        rdfs:label    "level"@en ;
        rdfs:range    :Level .

:impact  a            owl:NamedIndividual , owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Relates something to an ImpactThing."@en ;
        rdfs:label    "impact"@en ;
        rdfs:range    :ImpactThing .

:dE     a           :Domain , owl:NamedIndividual ;
        rdfs:label  "Dynamic building envelope"@en .

:Domain  a                owl:Class ;
        rdfs:comment      "Class of technical domains."@en ;
        rdfs:label        "Domain"@en ;
        rdfs:subClassOf   :FunctionalThing ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :Service ;
                            owl:onProperty     skos:narrower
                          ] ;
        owl:disjointWith  :Service .

:health_well_being_and_accessibility
        a           :Impact , owl:NamedIndividual ;
        rdfs:label  "Health well being and accessibility"@en .

cube:   a       owl:Class .

:energy_efficiency  a  :Impact , owl:NamedIndividual ;
        rdfs:label  "Energy efficiency"@en .

:level3  a          :Level , owl:NamedIndividual ;
        rdfs:label  "Level 3"@en .

:FunctionalThing  a   owl:Class ;
        rdfs:comment  "Class of instances in the functional hierarchy, this includes Domains and Services."@en ;
        rdfs:label    "FunctionalThing"@en .

:topDomain  a          owl:NamedIndividual , :FunctionalThing ;
        rdfs:label     "All domains"@en ;
        skos:narrower  :lighting , :cooling , :dE , :mC , :heating , :electricity , :ventilation , :eV , :dHW .

bibo:doi  a     owl:AnnotationProperty .

<http://purl.org/linked-data/sdmx/2009/measure#obsValue>
        a       owl:DatatypeProperty .

:max    a             cube: , owl:NamedIndividual , owl:DatatypeProperty ;
        rdfs:comment  "Maximum impact criterion score. This is defined for Domains and calculated in Step 4."@en ;
        rdfs:label    "maximum impact criterion score"@en ;
        rdfs:range    xsd:integer .

:maintenance_and_fault_prediction
        a           :Impact , owl:NamedIndividual ;
        rdfs:label  "Maintenance and fault prediction"@en .

:energy_flexibility_and_storage
        a           :Impact , owl:NamedIndividual ;
        rdfs:label  "Energy flexibility and storage"@en .

:ServiceCatalogue  a  owl:Class ;
        rdfs:comment  "A Service Catalogue is a collection of services used in an assessment."@en ;
        rdfs:label    "Service catalogue"@en .

vann:preferredNamespacePrefix
        a       owl:AnnotationProperty .

:dsd-assessment  a      cube:DataStructureDefinition , owl:NamedIndividual ;
        cube:component  [ cube:measure  :level ] ;
        cube:component  [ cube:dimension  :function ] .

:dsd-sriscores  a       cube:DataStructureDefinition , owl:NamedIndividual ;
        rdfs:label      "SRI scores DSD"@en ;
        cube:component  [ cube:measure  :icscore ] ;
        cube:component  [ cube:dimension  :level ] ;
        cube:component  [ cube:dimension  :function ] .

terms:issued  a  owl:AnnotationProperty .

:convenience  a     :Impact , owl:NamedIndividual ;
        rdfs:label  "Convenience"@en .

:additionalLevel  a   owl:ObjectProperty ;
        rdfs:comment  "Additional Level if share is < 100%."@en ;
        rdfs:label    "additional level"@en ;
        rdfs:range    :Level .

schema:affiliation  a  owl:AnnotationProperty .

:level2  a          :Level , owl:NamedIndividual ;
        rdfs:label  "Level 2"@en .

terms:bibliographicCitation
        a       owl:AnnotationProperty .

:ventilation  a     :Domain , owl:NamedIndividual ;
        rdfs:label  "Ventilation"@en .

terms:description  a  owl:AnnotationProperty .

:weight  a                  cube:MeasureProperty , owl:NamedIndividual , owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment        "A weight of the weight matrix used for weighing the smart-readiness scores before aggregation."@en ;
        rdfs:label          "weight"@en ;
        rdfs:range          [ a            rdfs:Datatype ;
                              owl:unionOf  ( xsd:decimal xsd:double xsd:float )
                            ] ;
        rdfs:subPropertyOf  <http://purl.org/linked-data/sdmx/2009/measure#obsValue> .

:mC     a           :Domain , owl:NamedIndividual ;
        rdfs:label  "Monitoring and control"@en .

:heating  a         :Domain , owl:NamedIndividual ;
        rdfs:label  "Heating"@en .

:comfort  a         :Impact , owl:NamedIndividual ;
        rdfs:label  "Comfort"@en .

:ImpactThing  a       owl:Class ;
        rdfs:comment  "Class of all instances in the impact hierarchy, this includes Impacts and Key Capabilities."@en ;
        rdfs:label    "ImpactThing"@en .

:icscore  a                 cube:MeasureProperty , owl:NamedIndividual , owl:DatatypeProperty ;
        rdfs:comment        "The impact criterion score is defined for Services and calculated for Domains in Step 3."@en ;
        rdfs:label          "impact criterion score"@en ;
        rdfs:range          xsd:integer ;
        rdfs:subPropertyOf  <http://purl.org/linked-data/sdmx/2009/measure#obsValue> .

:level1  a          :Level , owl:NamedIndividual ;
        rdfs:label  "Level 1"@en .
