# The pattern's own scenario: to know that the extractor fan above the oven is
# switched on you can check the current it draws, or the light of the lamp in its
# hood. Two situations express the same state, so each is a proxy for the other.

@prefix dul: <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#> .
@prefix smarthomefeatureofinterest: <http://ecareathome-ontology.mpi.aass.oru.se/patterns/SmartHome_FeatureOfInterest.owl#> .
@prefix smarthomeproperty: <http://ecareathome-ontology.mpi.aass.oru.se/patterns/SmartHome_Property.owl#> .
@prefix smarthomesituation: <http://ecareathome-ontology.mpi.aass.oru.se/patterns/SmartHome_Situation.owl#> .
@prefix ssn: <http://purl.oclc.org/NET/ssnx/ssn#> .
@prefix ex: <https://w3id.org/ontoboard/example/smarthome-situation#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

ex:ExtractorFan a owl:NamedIndividual , dul:PhysicalObject ;
    rdfs:label "the extractor fan above the oven" ;
    ssn:hasProperty ex:FanElectricCurrent .

ex:FanElectricCurrent a owl:NamedIndividual , smarthomeproperty:SmartHomeProperty ;
    rdfs:label "the electric current the extractor fan draws" ;
    ssn:isPropertyOf ex:ExtractorFan .

ex:HoodLamp a owl:NamedIndividual , dul:PhysicalObject ;
    rdfs:label "the lamp built into the fan hood" ;
    ssn:hasProperty ex:LampLuminosity .

ex:LampLuminosity a owl:NamedIndividual , smarthomeproperty:SmartHomeProperty ;
    rdfs:label "how brightly the hood lamp shines" ;
    ssn:isPropertyOf ex:HoodLamp .

ex:FanOnSeenInCurrent a owl:NamedIndividual , smarthomesituation:SmartObjectSituation ;
    rdfs:label "the fan is on, seen in the current it draws" ;
    dul:isExpressedBy ex:FanCurrentOfInterest , ex:SwitchedOn ;
    ssn:isProxyFor ex:FanOnSeenInLampLight .

ex:FanOnSeenInLampLight a owl:NamedIndividual , smarthomesituation:SmartObjectSituation ;
    rdfs:label "the fan is on, seen in the light of its hood lamp" ;
    dul:isExpressedBy ex:LampLuminosityOfInterest , ex:SwitchedOn .

ex:SwitchedOn a owl:NamedIndividual , smarthomesituation:State ;
    rdfs:label "switched on" .

ex:FanCurrentOfInterest a owl:NamedIndividual , smarthomefeatureofinterest:SmartHomeFeatureOfInterest ;
    rdfs:label "the fan's electric current, as the feature watched" .

ex:LampLuminosityOfInterest a owl:NamedIndividual , smarthomefeatureofinterest:SmartHomeFeatureOfInterest ;
    rdfs:label "the hood lamp's luminosity, as the feature watched" .
