#
# Prefixes
#
@prefix eau: <https://w3id.org/eautonome/> .
@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 xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix voaf: <http://purl.org/vocommons/voaf#> .
@prefix schema: <http://schema.org/> .
@prefix mod: <https://w3id.org/mod#> .
@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix saref: <https://saref.etsi.org/core/> .
@prefix s4watr: <https://saref.etsi.org/saref4watr/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix erdemonal: <https://w3id.org/people/erdemonal/> .
@base <https://w3id.org/eautonome/> .

#
# Eautonome Ontology
#
<https://w3id.org/eautonome/> rdf:type owl:Ontology , voaf:Vocabulary ;
    rdfs:label "The Eautonome Ontology"@en , "L'ontologie Eautonome"@fr ;
    dcterms:title "The Eautonome Ontology"@en ;
    dcterms:title "L'ontologie Eautonome"@fr ;
    dcterms:description "The Eautonome Ontology provides an OWL representation of residential water end-use monitoring. It models domestic water uses, quality levels, and greywater reuse processes, specifically describing the monitoring and observations of the system to reduce water consumption."@en ;
    dcterms:description "L'ontologie Eautonome fournit une représentation OWL du suivi des usages résidentiels de l'eau. Elle modélise les usages domestiques de l'eau, les niveaux de qualité et les processus de réutilisation des eaux grises, en décrivant spécifiquement le suivi et les observations du système pour réduire la consommation d'eau."@fr ;
    dcterms:creator erdemonal:me ;
    dcterms:publisher <https://www.leesu.fr/> ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:created "2026-04-03"^^xsd:date ;
    dcterms:issued "2026-04-04"^^xsd:date ;
    dcterms:modified "2026-08-19"^^xsd:date ;
    dcterms:source <https://www.leesu.fr/eautonome> ;
    dcterms:identifier <https://doi.org/10.5281/zenodo.21894602> ;
    dcterms:isVersionOf <https://doi.org/10.5281/zenodo.21894601> ;
    bibo:doi "10.5281/zenodo.21894602" ;
    schema:logo <https://erdemonal.github.io/eautonome/logo.svg> ;
    schema:includedInDataCatalog <https://lov.linkeddata.es/dataset/lov> ;
    mod:status "release" ;
    dcterms:bibliographicCitation "Önal, E. The Eautonome Ontology (Version v1.0.0). https://doi.org/10.5281/zenodo.21894602"@en ;
    owl:versionInfo "1.0.0" ;
    owl:versionIRI <https://w3id.org/eautonome/1.0.0> ;
    vann:preferredNamespacePrefix "eau" ;
    vann:preferredNamespaceUri "https://w3id.org/eautonome/" ;
    rdfs:seeAlso <https://www.leesu.fr/eautonome> ;
    owl:imports <http://www.w3.org/ns/sosa/> ,
                <https://saref.etsi.org/saref4watr/v2.1.1/> .
                
#
# Classes
#
eau:GreywaterRecyclingSystem a owl:Class ;
    rdfs:subClassOf s4watr:WaterInfrastructure , sosa:Platform ;
    rdfs:label "Greywater recycling system"@en , "Système de recyclage des eaux grises"@fr ;
    rdfs:comment "A system for collecting, treating, and redistributing domestic greywater."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:DomesticRoom a owl:Class ;
    rdfs:subClassOf sosa:FeatureOfInterest ;
    rdfs:label "Domestic room"@en , "Pièce domestique"@fr ;
    rdfs:comment "A room in a dwelling in which water consumption or collection occurs."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:MeasurementPoint a owl:Class ;
    rdfs:subClassOf sosa:FeatureOfInterest , s4watr:WaterAsset ;
    rdfs:label "Measurement point"@en , "Point de mesure"@fr ;
    rdfs:comment "A location within the water infrastructure at which observations are made."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:VortexFlowmeter a owl:Class ;
    rdfs:subClassOf sosa:Sensor , s4watr:WaterMeter ;
    rdfs:label "Vortex flowmeter"@en , "Débitmètre à effet vortex"@fr ;
    rdfs:comment "A sensor measuring water flow rate."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:ConductivityTemperatureSensor a owl:Class ;
    rdfs:subClassOf sosa:Sensor , s4watr:WaterDevice ;
    rdfs:label "Conductivity and temperature sensor"@en , "Capteur de conductivité et de température"@fr ;
    rdfs:comment "A sensor measuring both the electrical conductivity and temperature of water."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:ADConverter a owl:Class ;
    rdfs:subClassOf sosa:System , sosa:Platform ;
    rdfs:label "Analog to digital converter"@en , "Carte ADC"@fr ;
    rdfs:comment "A component for converting analog sensor signals into digital data."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:EautonomeObservingProcedure a owl:Class ;
    rdfs:subClassOf sosa:ObservingProcedure ;
    rdfs:label "Eautonome observing procedure"@en , "Procédure d'observation Eautonome"@fr ;
    rdfs:comment "Data acquisition via ADC on the Raspberry Pi."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:ShowerObservingProcedure a owl:Class ;
    rdfs:subClassOf eau:EautonomeObservingProcedure ;
    rdfs:label "Shower observing procedure"@en , "Procédure d'observation douche"@fr ;
    rdfs:comment "Data acquisition for shower via Bluetooth."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:ShowerSensor a owl:Class ;
    rdfs:subClassOf sosa:Sensor , s4watr:WaterDevice ;
    rdfs:label "Shower sensor"@en , "Capteur de douche"@fr ;
    rdfs:comment "A sensor attached to a shower head that measures flow rate, volume, temperature, and duration."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:PipeConfiguration a owl:Class ;
    rdfs:subClassOf sosa:FeatureOfInterest ;
    rdfs:label "Pipe configuration"@en , "Configuration de tuyauterie"@fr ;
    rdfs:comment "A pipe configuration, where geometry affects flow measurements."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:ConsumptionEvent a owl:Class ;
    rdfs:subClassOf schema:Event ;
    rdfs:label "Consumption event"@en , "Événement de consommation"@fr ;
    rdfs:comment "A domestic water use activity. It complements sosa:phenomenonTime on observation collections."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

#
# Properties
#
eau:hasFlowEquation a owl:DatatypeProperty ; rdfs:domain eau:VortexFlowmeter ; rdfs:range xsd:string ;
    rdfs:label "has flow equation"@en ;
    rdfs:comment "Equation relating sensor current to measured flow rate."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasTemperatureEquation a owl:DatatypeProperty ; rdfs:domain sosa:Sensor ; rdfs:range xsd:string ;
    rdfs:label "has temperature equation"@en ;
    rdfs:comment "Equation relating sensor current to measured temperature."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasConductivityEquation a owl:DatatypeProperty ; rdfs:domain sosa:Sensor ; rdfs:range xsd:string ;
    rdfs:label "has conductivity equation"@en ;
    rdfs:comment "Equation relating sensor current to measured conductivity."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasCalibrationSlope a owl:DatatypeProperty ; rdfs:domain sosa:Sensor ; rdfs:range xsd:decimal ;
    rdfs:label "has calibration slope"@en ;
    rdfs:comment "Numeric slope used to convert sensor readings to flow values."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasCalibrationR2 a owl:DatatypeProperty ; rdfs:domain sosa:Sensor ;
    rdfs:range [ a rdfs:Datatype ;
        owl:onDatatype xsd:decimal ;
        owl:withRestrictions (
            [ xsd:minInclusive "0.0"^^xsd:decimal ]
            [ xsd:maxInclusive "1.0"^^xsd:decimal ]
        )
    ] ;
    rdfs:label "has calibration R2"@en ;
    rdfs:comment "Coefficient of determination for the calibration."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasCalibrationIntercept a owl:DatatypeProperty ; rdfs:domain sosa:Sensor ; rdfs:range xsd:decimal ;
    rdfs:label "has calibration intercept"@en ;
    rdfs:comment "Intercept for converting sensor readings to flow values."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasTriggerThreshold a owl:DatatypeProperty ; rdfs:domain eau:EautonomeObservingProcedure ; rdfs:range xsd:decimal ;
    rdfs:label "has trigger threshold"@en ;
    rdfs:comment "Minimum change in the measured quantity that triggers an observation."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasSamplingPeriod a owl:DatatypeProperty ; rdfs:domain eau:EautonomeObservingProcedure ; rdfs:range xsd:decimal ;
    rdfs:label "has sampling period"@en ;
    rdfs:comment "Interval between sensor samples, in seconds."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasTransmissionInterval a owl:DatatypeProperty ; rdfs:domain eau:EautonomeObservingProcedure ; rdfs:range xsd:decimal ;
    rdfs:label "has transmission interval"@en ;
    rdfs:comment "Time interval between consecutive observation recordings, in seconds."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasDurationSeconds a owl:DatatypeProperty ; rdfs:domain sosa:Observation ; rdfs:range xsd:decimal ;
    rdfs:label "has duration in seconds"@en ;
    rdfs:comment "Duration of the observation in seconds."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasAnalogInput a owl:DatatypeProperty ; rdfs:domain sosa:Sensor ; rdfs:range xsd:string ;
    rdfs:label "has analog input"@en ;
    rdfs:comment "Identifier of the analog input channel used on the ADC."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasOperationalStatus a owl:DatatypeProperty ;
    rdfs:domain sosa:System ;
    rdfs:range xsd:string ;
    rdfs:label "has operational status"@en ;
    rdfs:comment "Current status of the system, can be active, inactive, or planned."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:servesEndpoint a owl:ObjectProperty ;
    rdfs:domain eau:MeasurementPoint ;
    rdfs:range eau:DomesticRoom ;
    owl:inverseOf eau:isServedBy ;
    rdfs:label "serves endpoint"@en ;
    rdfs:comment "Connects a measurement point to the room where the water is used."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:isServedBy a owl:ObjectProperty ;
    rdfs:domain eau:DomesticRoom ;
    rdfs:range eau:MeasurementPoint ;
    owl:inverseOf eau:servesEndpoint ;
    rdfs:label "is served by"@en ;
    rdfs:comment "Links a domestic room to a measurement point that serves it as water use endpoint."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:measuresWaterKind a owl:ObjectProperty ;
    rdfs:domain eau:MeasurementPoint ;
    rdfs:range s4watr:WaterKind ;
    owl:inverseOf eau:waterKindMeasuredAt ;
    rdfs:label "measures water kind"@en ;
    rdfs:comment "Specifies the type of water measured."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:waterKindMeasuredAt a owl:ObjectProperty ;
    rdfs:domain s4watr:WaterKind ;
    rdfs:range eau:MeasurementPoint ;
    owl:inverseOf eau:measuresWaterKind ;
    rdfs:label "water kind measured at"@en ;
    rdfs:comment "Links a water kind to a measurement point where that kind of water is measured."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasConsumptionEvent a owl:ObjectProperty ;
    rdfs:domain sosa:ObservationCollection ;
    rdfs:range eau:ConsumptionEvent ;
    owl:inverseOf eau:isConsumptionEventOf ;
    rdfs:label "has consumption event"@en ;
    rdfs:comment "Links an observation collection to the domestic usage activity it represents."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:isConsumptionEventOf a owl:ObjectProperty ;
    rdfs:domain eau:ConsumptionEvent ;
    rdfs:range sosa:ObservationCollection ;
    owl:inverseOf eau:hasConsumptionEvent ;
    rdfs:label "is consumption event of"@en ;
    rdfs:comment "Links a consumption event to the observation collection that represents it."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:locatedIn a owl:ObjectProperty ;
    rdfs:domain eau:MeasurementPoint ;
    rdfs:range eau:DomesticRoom ;
    owl:inverseOf eau:isLocationOf ;
    rdfs:label "located in"@en ;
    rdfs:comment "The room where the measurement point is located."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:isLocationOf a owl:ObjectProperty ;
    rdfs:domain eau:DomesticRoom ;
    rdfs:range eau:MeasurementPoint ;
    owl:inverseOf eau:locatedIn ;
    rdfs:label "is location of"@en ;
    rdfs:comment "Links a domestic room to a measurement point located in that room."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:measuresOnAsset a owl:ObjectProperty ;
    rdfs:domain eau:MeasurementPoint ;
    rdfs:range s4watr:WaterAsset ;
    owl:inverseOf eau:isMeasuredAt ;
    rdfs:label "measures on asset"@en ;
    rdfs:comment "The pipe or water asset instrumented at this measurement point."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:isMeasuredAt a owl:ObjectProperty ;
    rdfs:domain s4watr:WaterAsset ;
    rdfs:range eau:MeasurementPoint ;
    owl:inverseOf eau:measuresOnAsset ;
    rdfs:label "is measured at"@en ;
    rdfs:comment "Links a water asset to the measurement point that instruments it."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:monitors a owl:ObjectProperty ;
    rdfs:domain sosa:Sensor ;
    rdfs:range eau:MeasurementPoint ;
    owl:inverseOf eau:isMonitoredBy ;
    rdfs:label "monitors"@en , "surveille"@fr ;
    rdfs:comment "Static topology link from a sensor to the measurement point it monitors, independent of any observation."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:isMonitoredBy a owl:ObjectProperty ;
    rdfs:domain eau:MeasurementPoint ;
    rdfs:range sosa:Sensor ;
    owl:inverseOf eau:monitors ;
    rdfs:label "is monitored by"@en , "est surveillé par"@fr ;
    rdfs:comment "Static topology link from a measurement point to the sensor that monitors it, independent of any observation."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:hasPipeConfiguration a owl:ObjectProperty ;
    rdfs:domain [ a owl:Class ; owl:unionOf ( sosa:Deployment sosa:ObservingProcedure sosa:ObservationCollection ) ] ;
    rdfs:range eau:PipeConfiguration ;
    owl:inverseOf eau:isPipeConfigurationOf ;
    rdfs:label "has pipe configuration"@en , "a pour configuration de tuyauterie"@fr ;
    rdfs:comment "Relates a deployment, observing procedure, or observation collection to the pipe configuration."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

eau:isPipeConfigurationOf a owl:ObjectProperty ;
    rdfs:domain eau:PipeConfiguration ;
    rdfs:range [ a owl:Class ; owl:unionOf ( sosa:Deployment sosa:ObservingProcedure sosa:ObservationCollection ) ] ;
    owl:inverseOf eau:hasPipeConfiguration ;
    rdfs:label "is pipe configuration of"@en , "est la configuration de tuyauterie de"@fr ;
    rdfs:comment "Relates a pipe configuration to a deployment, observing procedure, or observation collection."@en ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> .

#
# Axioms
#
saref:Property rdfs:subClassOf sosa:Property .
s4watr:WaterDevice rdfs:subClassOf sosa:System .
s4watr:WaterMeter rdfs:subClassOf sosa:System .

[] a owl:AllDisjointClasses ;
    owl:members (
        eau:DomesticRoom
        eau:MeasurementPoint
        eau:PipeConfiguration
        eau:ConsumptionEvent
        eau:GreywaterRecyclingSystem
        eau:ADConverter
        eau:EautonomeObservingProcedure
        eau:VortexFlowmeter
        eau:ConductivityTemperatureSensor
        eau:ShowerSensor
    ) .

#
# Individuals 
#
eau:Greywater a owl:NamedIndividual , s4watr:WaterKind ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Greywater"@en , "Eaux grises"@fr ;
    rdfs:comment "Domestic wastewater excluding blackwater."@en .

eau:TreatedGreywater a owl:NamedIndividual , s4watr:WaterKind ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Treated greywater"@en , "Eaux grises traitées"@fr ;
    rdfs:comment "Greywater after treatment."@en .

eau:DomesticReuse a owl:NamedIndividual , s4watr:WaterUse ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Domestic reuse"@en , "Réutilisation domestique"@fr ;
    rdfs:comment "Water reused in the household."@en .

eau:pipeConfigurationStraight a eau:PipeConfiguration , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Straight pipe configuration"@en , "Configuration tuyau droit"@fr ;
    rdfs:comment "A pipe configuration with a straight section and no bends."@en .

eau:pipeConfigurationCurved a eau:PipeConfiguration , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Curved pipe configuration"@en , "Configuration tuyau coudé"@fr ;
    rdfs:comment "A pipe configuration that includes a bend or elbow."@en .

eau:hansaActivejetDigital a eau:ShowerSensor , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "HANSA Activejet Digital"@en ;
    rdfs:comment "A HANSA Activejet Digital Bluetooth hand shower."@en ;
    eau:hasOperationalStatus "active" ;
    eau:monitors eau:mpBathroomHot ;
    sosa:observes s4watr:FlowRate , s4watr:FlowVolume , s4watr:FlowTemperature ;
    sosa:hasSystemCapability eau:capHansaActivejetDigital ;
    sosa:hasOperatingConditions eau:condHansaActivejetDigital ;
    sosa:forProperty s4watr:FlowRate , s4watr:FlowVolume , s4watr:FlowTemperature ;
    sosa:implements eau:showerObservingProcedure .

eau:capFlowmeterHeaterOutput a sosa:ObservationCollection , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Capability profile for heater output flowmeter"@en ;
    rdfs:comment "System capability profile for the heater output flowmeter."@en ;
    sosa:hasFeatureOfInterest eau:flowmeterHeaterOutput ;
    sosa:observedProperty s4watr:FlowRate .

eau:condFlowmeterHeaterOutput a sosa:ObservationCollection , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Operating conditions for heater output flowmeter"@en ;
    rdfs:comment "Nominal operation with domestic hot water flow."@en ;
    sosa:hasFeatureOfInterest eau:flowmeterHeaterOutput ;
    sosa:observedProperty s4watr:FlowTemperature .

eau:capHansaActivejetDigital a sosa:ObservationCollection , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Capability profile for HANSA Activejet Digital"@en ;
    rdfs:comment "System capability profile for the HANSA Activejet Digital hand shower."@en ;
    sosa:hasFeatureOfInterest eau:hansaActivejetDigital ;
    sosa:observedProperty s4watr:FlowRate , s4watr:FlowVolume , s4watr:FlowTemperature .

eau:condHansaActivejetDigital a sosa:ObservationCollection , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Operating conditions for HANSA Activejet Digital"@en ;
    rdfs:comment "Nominal shower operation with Bluetooth communication and domestic water flow."@en ;
    sosa:hasFeatureOfInterest eau:hansaActivejetDigital ;
    sosa:observedProperty s4watr:FlowRate .

eau:roomBathroom a eau:DomesticRoom , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Bathroom"@en , "Salle de bain"@fr ;
    rdfs:comment "A domestic room primarily used for bathing, sink use, and laundry water consumption."@en .

eau:roomKitchen a eau:DomesticRoom , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Kitchen"@en , "Cuisine"@fr ;
    rdfs:comment "A domestic room primarily used for cooking and dishwashing."@en .

eau:roomBasement a eau:DomesticRoom , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Basement"@en , "Cave"@fr ;
    rdfs:comment "A domestic room holding the connection to the cold water supply."@en .

eau:roomToilet a eau:DomesticRoom , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Toilet"@en , "Toilettes"@fr ;
    rdfs:comment "A domestic room where treated greywater is reused."@en .

eau:roomGarden a eau:DomesticRoom , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Garden"@en , "Jardin"@fr ;
    rdfs:comment "An outdoor domestic area that can receive treated greywater for irrigation."@en .

eau:pipeColdWaterEntry a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Cold water main entry"@en , "Arrivée d'eau froide"@fr ;
    rdfs:comment "Entry pipe for cold water."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:pipeHeaterOutput a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Hot water heater output pipe"@en , "Sortie d'eau chaude de la chaudière"@fr ;
    rdfs:comment "Pipe delivering hot water from the heater."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:pipeBathroomHot a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Bathroom hot water pipe"@en , "Tuyauterie SDB eau chaude"@fr ;
    rdfs:comment "Hot water pipe for the bathroom."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:pipeBathroomCold a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Bathroom cold water pipe"@en , "Tuyauterie SDB eau froide"@fr ;
    rdfs:comment "Cold water pipe for the bathroom."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:pipeWashingMachine a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Washing machine pipe"@en , "Tuyauterie de la machine à laver"@fr ;
    rdfs:comment "Water pipe supplying the washing machine."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:pipeBasementCold a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Basement pipe"@en , "Tuyauterie de la cave"@fr ;
    rdfs:comment "Cold water pipe in the basement."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:pipeKitchenCold a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Kitchen cold water pipe"@en , "Tuyauterie cuisine eau froide"@fr ;
    rdfs:comment "Cold water pipe for the kitchen."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:pipeKitchenHot a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Kitchen hot water pipe"@en , "Tuyauterie cuisine eau chaude"@fr ;
    rdfs:comment "Hot water pipe for the kitchen."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:pipeToiletSink a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Toilet sink pipe"@en , "Tuyauterie lavabo WC"@fr ;
    rdfs:comment "Pipe supplying water to the toilet sink."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:pipeToiletCold a s4watr:Pipe , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Toilet pipe"@en , "Tuyauterie des toilettes"@fr ;
    rdfs:comment "Pipe supplying cold water to the toilet."@en ;
    s4watr:isDesignedFor s4watr:DrinkingWater .

eau:eautonomeSystem a eau:GreywaterRecyclingSystem , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Eautonome pilot system"@en , "Système pilote Eautonome"@fr ;
    rdfs:comment "A greywater recycling pilot installation located in a residential house in Noisiel."@en ;
    eau:hasOperationalStatus "active" ;
    s4watr:isDesignedFor eau:Greywater , eau:TreatedGreywater ;
    s4watr:isIntendedFor eau:DomesticReuse , s4watr:Domestic ;
    sosa:hasDeployment eau:eautonomeDeployment ;
    sosa:hosts eau:raspberryPi4 .

eau:raspberryPi4 a sosa:Platform , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Raspberry Pi 4"@en , "Raspberry Pi 4"@fr ;
    rdfs:comment "The computing platform that executes the observing procedure and hosts the analog-to-digital converters."@en ;
    eau:hasOperationalStatus "active" ;
    sosa:hasDeployment eau:eautonomeDeployment ;
    sosa:hasSubSystem eau:adcCard1 , eau:adcCard2 ;
    sosa:inDeployment eau:eautonomeDeployment ;
    sosa:isHostedBy eau:eautonomeSystem ;
    sosa:hosts eau:adcCard1 , eau:adcCard2 .

# 
# Adc cards
#
eau:adcCard1 a eau:ADConverter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "ADC card 1"@en , "Carte ADC 1"@fr ;
    rdfs:comment "MCC 128 ADC on SPI hat index 0."@en ;
    eau:hasOperationalStatus "active" ;
    sosa:hasSubSystem eau:flowmeterHeaterOutput , eau:flowmeterBathroomHot ,
        eau:flowmeterBathroomCold , eau:flowmeterBasementCold , eau:flowmeterToiletCold ,
        eau:flowmeterKitchenCold ;
    sosa:isHostedBy eau:raspberryPi4 ;
    sosa:hosts eau:flowmeterHeaterOutput , eau:flowmeterBathroomHot , 
               eau:flowmeterBathroomCold , eau:flowmeterBasementCold , eau:flowmeterToiletCold ,
               eau:flowmeterKitchenCold .

eau:adcCard2 a eau:ADConverter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "ADC card 2"@en , "Carte ADC 2"@fr ;
    rdfs:comment "MCC 128 ADC on SPI hat index 1."@en ;
    eau:hasOperationalStatus "active" ;
    sosa:hasSubSystem eau:jumoDigiLineBoiler , eau:jumoDigiLineShower , eau:flowmeterWashingMachine ,
        eau:flowmeterKitchenHot , eau:flowmeterMainInlet , eau:flowmeterToiletSink , eau:tempSensorMainInlet ;
    sosa:isHostedBy eau:raspberryPi4 ;
    sosa:hosts eau:jumoDigiLineBoiler , eau:jumoDigiLineShower , eau:flowmeterWashingMachine ,
               eau:flowmeterKitchenHot , eau:flowmeterMainInlet , eau:flowmeterToiletSink , eau:tempSensorMainInlet .

# 
# Vortex flowmeters
#
eau:flowmeterHeaterOutput a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Heater output flowmeter"@en , "Débitmètre de la sortie chaudière"@fr ;
    rdfs:comment "Reference flowmeter for data acquisition."@en ;
    eau:hasOperationalStatus "active" ;
    eau:hasFlowEquation "Q = 0.938 * (I - 4)" ;
    eau:hasCalibrationSlope "0.957"^^xsd:decimal ; 
    eau:hasCalibrationR2 "0.9988"^^xsd:decimal ;
    eau:hasAnalogInput "AN4" ;
    eau:monitors eau:mpHeaterOutput ;
    sosa:madeObservation eau:obsFlowHeaterOutput20260627T034633 ;
    sosa:observes s4watr:FlowRate , s4watr:FlowTemperature ;
    sosa:hasSystemCapability eau:capFlowmeterHeaterOutput ;
    sosa:hasOperatingConditions eau:condFlowmeterHeaterOutput ;
    sosa:forProperty s4watr:FlowRate , s4watr:FlowTemperature ;
    sosa:isHostedBy eau:adcCard1 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:flowmeterBathroomHot a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Bathroom hot water flowmeter"@en , "Débitmètre d'eau chaude de la salle de bain"@fr ;
    rdfs:comment "Measures hot water flow to the bathroom circuit."@en ;
    eau:hasOperationalStatus "active" ;
    eau:hasFlowEquation "Q = 0.938 * (I - 4)" ;
    eau:hasCalibrationSlope "0.957"^^xsd:decimal ; 
    eau:hasCalibrationR2 "0.9988"^^xsd:decimal ;
    eau:hasAnalogInput "AN2" ;
    eau:monitors eau:mpBathroomHot ;
    sosa:observes s4watr:FlowRate ;
    sosa:forProperty s4watr:FlowRate ;
    sosa:isHostedBy eau:adcCard1 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:flowmeterBathroomCold a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Bathroom cold water flowmeter"@en , "Débitmètre d'eau froide de la salle de bain"@fr ;
    rdfs:comment "Measures cold water flow to the bathroom circuit."@en ;
    eau:hasOperationalStatus "inactive" ;
    eau:hasFlowEquation "Q = 0.938 * (I - 4)" ;
    eau:hasCalibrationSlope "0.957"^^xsd:decimal ; 
    eau:hasCalibrationR2 "0.9988"^^xsd:decimal ;
    eau:hasAnalogInput "AN0" ;
    eau:monitors eau:mpBathroomCold ;
    sosa:observes s4watr:FlowRate ;
    sosa:forProperty s4watr:FlowRate ;
    sosa:isHostedBy eau:adcCard1 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:flowmeterWashingMachine a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Washing machine flowmeter"@en , "Débitmètre de la machine à laver"@fr ;
    rdfs:comment "Measures water supply to the washing machine."@en ;
    eau:hasOperationalStatus "inactive" ;
    eau:hasFlowEquation "Q = 0.938 * (I - 4)" ;
    eau:hasCalibrationSlope "0.957"^^xsd:decimal ; 
    eau:hasCalibrationR2 "0.9988"^^xsd:decimal ;
    eau:hasAnalogInput "AN2" ;
    eau:monitors eau:mpWashingMachine ;
    sosa:observes s4watr:FlowRate ;
    sosa:forProperty s4watr:FlowRate ;
    sosa:isHostedBy eau:adcCard2 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:flowmeterBasementCold a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Basement flowmeter"@en , "Débitmètre de la cave"@fr ;
    rdfs:comment "Flowmeter connected to the main cold water supply via an extended cable."@en ;
    eau:hasOperationalStatus "inactive" ;
    eau:hasFlowEquation "Q = 0.938 * (I - 4)" ;
    eau:hasCalibrationSlope "0.957"^^xsd:decimal ; 
    eau:hasCalibrationR2 "0.9988"^^xsd:decimal ;
    eau:hasAnalogInput "AN3" ;
    eau:monitors eau:mpBasementCold ;
    sosa:observes s4watr:FlowRate ;
    sosa:forProperty s4watr:FlowRate ;
    sosa:isHostedBy eau:adcCard1 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:flowmeterToiletCold a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Toilet flowmeter"@en , "Débitmètre des toilettes"@fr ;
    rdfs:comment "Measures flow to the toilet."@en ;
    eau:hasOperationalStatus "inactive" ;
    eau:hasFlowEquation "Q = 0.938 * (I - 4)" ;
    eau:hasCalibrationSlope "0.957"^^xsd:decimal ; 
    eau:hasCalibrationR2 "0.9988"^^xsd:decimal ;
    eau:hasAnalogInput "AN1" ;
    eau:monitors eau:mpToiletCold ;
    sosa:observes s4watr:FlowRate ;
    sosa:forProperty s4watr:FlowRate ;
    sosa:isHostedBy eau:adcCard1 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:flowmeterKitchenCold a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Kitchen cold water flowmeter"@en , "Débitmètre cuisine eau froide"@fr ;
    rdfs:comment "Measures cold water flow to the kitchen circuit."@en ;
    eau:hasOperationalStatus "active" ;
    eau:hasFlowEquation "Q = 0.938 * (I - 4)" ;
    eau:hasAnalogInput "AN7" ;
    eau:monitors eau:mpKitchenCold ;
    sosa:observes s4watr:FlowRate ;
    sosa:forProperty s4watr:FlowRate ;
    sosa:isHostedBy eau:adcCard1 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:flowmeterKitchenHot a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Kitchen hot water flowmeter"@en , "Débitmètre cuisine eau chaude"@fr ;
    rdfs:comment "Measures hot water flow to the kitchen circuit."@en ;
    eau:hasOperationalStatus "active" ;
    eau:hasFlowEquation "Q = 0.938 * (I - 4)" ;
    eau:hasAnalogInput "AN6" ;
    eau:monitors eau:mpKitchenHot ;
    sosa:observes s4watr:FlowRate ;
    sosa:forProperty s4watr:FlowRate ;
    sosa:isHostedBy eau:adcCard2 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:flowmeterToiletSink a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "WC sink flowmeter"@en , "Débitmètre lavabo WC"@fr ;
    rdfs:comment "Measures flow to the toilet sink."@en ;
    eau:hasOperationalStatus "active" ;
    eau:hasFlowEquation "Q = 0.938 * (I - 4)" ;
    eau:hasAnalogInput "AN7" ;
    eau:monitors eau:mpToiletSink ;
    sosa:observes s4watr:FlowRate ;
    sosa:forProperty s4watr:FlowRate ;
    sosa:isHostedBy eau:adcCard2 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:flowmeterMainInlet a eau:VortexFlowmeter , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Main inlet flowmeter"@en , "Débitmètre entrée principale"@fr ;
    rdfs:comment "ifm vortex flowmeter DN10."@en ;
    eau:hasOperationalStatus "active" ;
    eau:hasFlowEquation "Q = 2.0 * (I - 4)" ;
    eau:hasAnalogInput "AN3" ;
    eau:monitors eau:mpMainInlet ;
    sosa:observes s4watr:FlowRate ;
    sosa:forProperty s4watr:FlowRate ;
    sosa:isHostedBy eau:adcCard2 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:tempSensorMainInlet a sosa:Sensor , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Main inlet temperature sensor"@en , "Capteur température entrée principale"@fr ;
    rdfs:comment "Temperature output of the main inlet ifm vortex meter."@en ;
    eau:hasOperationalStatus "active" ;
    eau:hasTemperatureEquation "T = 9.375 * (I - 4) - 25" ;
    eau:hasAnalogInput "AN4" ;
    eau:monitors eau:mpMainInlet ;
    sosa:observes s4watr:FlowTemperature ;
    sosa:forProperty s4watr:FlowTemperature ;
    sosa:isHostedBy eau:adcCard2 ;
    sosa:implements eau:eautonomeObservingProcedure .

# 
# Conductivity and Temperature Sensors 
#
#
eau:jumoDigiLineBoiler a eau:ConductivityTemperatureSensor , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Boiler JUMO conductivity/temperature sensor"@en , "Capteur JUMO chaudière conductivité/température"@fr ;
    rdfs:comment "JUMO digiLine CR sensor for the boiler line."@en ;
    eau:hasOperationalStatus "active" ;
    eau:hasConductivityEquation "C = 1.036 * ((I - 4) / 16) * 2000 uS/cm" ;
    eau:hasTemperatureEquation "T = 1.032 * ((I - 4) / 16) * 100 C" ;
    eau:hasAnalogInput "AN0" ;
    eau:hasAnalogInput "AN1" ;
    eau:monitors eau:mpHeaterOutput ;
    sosa:observes s4watr:Conductivity , s4watr:FlowTemperature ;
    sosa:forProperty s4watr:Conductivity , s4watr:FlowTemperature ;
    sosa:isHostedBy eau:adcCard2 ; 
    sosa:implements eau:eautonomeObservingProcedure .

eau:jumoDigiLineShower a eau:ConductivityTemperatureSensor , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Shower JUMO conductivity/temperature sensor"@en , "Capteur JUMO douche conductivité/température"@fr ;
    rdfs:comment "JUMO digiLine CR sensor for the shower line."@en ;
    eau:hasOperationalStatus "active" ;
    eau:hasConductivityEquation "C = 1.036 * ((I - 4) / 16) * 2000 uS/cm" ;
    eau:hasTemperatureEquation "T = 1.032 * ((I - 4) / 16) * 100 C" ;
    eau:hasAnalogInput "AN5" ;
    eau:monitors eau:mpBathroomHot ;
    sosa:observes s4watr:FlowTemperature ;
    sosa:forProperty s4watr:FlowTemperature ;
    sosa:isHostedBy eau:adcCard2 ;
    sosa:implements eau:eautonomeObservingProcedure .

# 
# Measurement points
#
eau:mpHeaterOutput a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Heater output measurement point"@en , "Point de mesure de la sortie chaudière"@fr ;
    rdfs:comment "A reference measurement point."@en ;
    eau:measuresWaterKind s4watr:DrinkingWater ; 
    eau:locatedIn eau:roomBathroom ;
    eau:measuresOnAsset eau:pipeHeaterOutput ;
    sosa:isFeatureOfInterestOf eau:obsFlowHeaterOutput20260627T034633 ;
    sosa:hasProperty s4watr:FlowRate , s4watr:FlowTemperature , s4watr:FlowVolume , s4watr:Conductivity , s4watr:Temperature .

eau:mpBathroomHot a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Bathroom hot water measurement point"@en , "Point de mesure d'eau chaude de la salle de bain"@fr ;
    rdfs:comment "Measurement point on the bathroom hot water circuit."@en ;
    eau:measuresWaterKind s4watr:DrinkingWater ; 
    eau:locatedIn eau:roomBathroom ;
    eau:measuresOnAsset eau:pipeBathroomHot ;
    eau:servesEndpoint eau:roomBathroom ; 
    sosa:hasProperty s4watr:FlowRate .

eau:mpBathroomCold a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Bathroom cold water measurement point"@en , "Point de mesure d'eau froide de la salle de bain"@fr ;
    rdfs:comment "Measurement point on the bathroom cold water circuit."@en ;
    eau:measuresWaterKind s4watr:DrinkingWater ; 
    eau:locatedIn eau:roomBathroom ;
    eau:measuresOnAsset eau:pipeBathroomCold ;
    eau:servesEndpoint eau:roomBathroom ; 
    sosa:hasProperty s4watr:FlowRate .

eau:mpWashingMachine a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Washing machine measurement point"@en , "Point de mesure de la machine à laver"@fr ;
    rdfs:comment "Measurement point for water to the washing machine."@en ;
    eau:measuresWaterKind s4watr:DrinkingWater ; 
    eau:locatedIn eau:roomBathroom ;
    eau:measuresOnAsset eau:pipeWashingMachine ;
    eau:servesEndpoint eau:roomBathroom ; 
    sosa:hasProperty s4watr:FlowRate .

eau:mpBasementCold a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Basement measurement point"@en , "Point de mesure de la cave"@fr ;
    rdfs:comment "Measurement point on the basement cold water supply."@en ;
    eau:measuresWaterKind s4watr:DrinkingWater ; 
    eau:locatedIn eau:roomBasement ;
    eau:measuresOnAsset eau:pipeBasementCold ;
    eau:servesEndpoint eau:roomBasement ; 
    sosa:hasProperty s4watr:FlowRate .

eau:mpMainInlet a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Main inlet measurement point"@en , "Point de mesure entrée principale"@fr ;
    rdfs:comment "Measurement point on the main cold water entry."@en ;
    eau:measuresWaterKind s4watr:DrinkingWater ; 
    eau:locatedIn eau:roomBasement ;
    eau:measuresOnAsset eau:pipeColdWaterEntry ;
    eau:servesEndpoint eau:roomBasement ; 
    sosa:hasProperty s4watr:FlowRate , s4watr:FlowTemperature .

eau:mpKitchenCold a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Kitchen cold water measurement point"@en , "Point de mesure cuisine eau froide"@fr ;
    rdfs:comment "Measurement point on the kitchen cold water circuit."@en ;
    eau:measuresWaterKind s4watr:DrinkingWater ; 
    eau:locatedIn eau:roomKitchen ;
    eau:measuresOnAsset eau:pipeKitchenCold ;
    eau:servesEndpoint eau:roomKitchen ; 
    sosa:hasProperty s4watr:FlowRate .

eau:mpKitchenHot a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Kitchen hot water measurement point"@en , "Point de mesure cuisine eau chaude"@fr ;
    rdfs:comment "Measurement point on the kitchen hot water circuit."@en ;
    eau:measuresWaterKind s4watr:DrinkingWater ; 
    eau:locatedIn eau:roomKitchen ;
    eau:measuresOnAsset eau:pipeKitchenHot ;
    eau:servesEndpoint eau:roomKitchen ; 
    sosa:hasProperty s4watr:FlowRate .

eau:mpToiletSink a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Toilet sink measurement point"@en , "Point de mesure lavabo WC"@fr ;
    rdfs:comment "Measurement point on the toilet sink water circuit."@en ;
    eau:measuresWaterKind s4watr:DrinkingWater ; 
    eau:locatedIn eau:roomToilet ;
    eau:measuresOnAsset eau:pipeToiletSink ;
    eau:servesEndpoint eau:roomToilet ; 
    sosa:hasProperty s4watr:FlowRate .

eau:mpToiletCold a eau:MeasurementPoint , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Toilet measurement point"@en , "Point de mesure des toilettes"@fr ;
    rdfs:comment "Measurement point for treated greywater reuse."@en ;
    eau:measuresWaterKind eau:TreatedGreywater ; 
    eau:locatedIn eau:roomToilet ;
    eau:measuresOnAsset eau:pipeToiletCold ;
    eau:servesEndpoint eau:roomToilet ; 
    sosa:hasProperty s4watr:FlowRate .

# 
# Deployment
#
eau:eautonomeDeployment a sosa:Deployment , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Eautonome deployment"@en , "Déploiement Eautonome"@fr ;
    rdfs:comment "The configuration of sensors and platforms within the system."@en ;
    sosa:startTime "2023-07-15T07:30:00+02:00"^^xsd:dateTime ;
    sosa:deployedOnPlatform eau:raspberryPi4 ;
    sosa:deployedSystem eau:flowmeterHeaterOutput , eau:flowmeterBathroomHot ,
        eau:flowmeterBathroomCold , eau:flowmeterWashingMachine , eau:flowmeterBasementCold ,
        eau:flowmeterToiletCold , eau:flowmeterKitchenCold , eau:flowmeterKitchenHot ,
        eau:flowmeterToiletSink , eau:flowmeterMainInlet , eau:tempSensorMainInlet ,
        eau:jumoDigiLineBoiler , eau:jumoDigiLineShower , eau:hansaActivejetDigital ;
    sosa:hasFeatureOfInterest eau:mpHeaterOutput , eau:mpBathroomHot , eau:mpBathroomCold ,
        eau:mpWashingMachine , eau:mpBasementCold , eau:mpToiletCold , eau:mpKitchenCold ,
        eau:mpKitchenHot , eau:mpToiletSink , eau:mpMainInlet .

# 
# Observing procedure
#
eau:eautonomeObservingProcedure a eau:EautonomeObservingProcedure , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Eautonome observing procedure"@en , "Procédure d'observation Eautonome"@fr ;
    rdfs:comment "Data acquisition via ADC on the Raspberry Pi."@en ;
    sosa:implementedBy eau:flowmeterHeaterOutput , eau:flowmeterBathroomHot , eau:flowmeterBathroomCold ,
        eau:flowmeterWashingMachine , eau:flowmeterBasementCold , eau:flowmeterToiletCold ,
        eau:flowmeterKitchenCold , eau:flowmeterKitchenHot , eau:flowmeterToiletSink ,
        eau:flowmeterMainInlet , eau:tempSensorMainInlet , eau:jumoDigiLineBoiler ,
        eau:jumoDigiLineShower ;
    sosa:forProperty s4watr:FlowRate , s4watr:FlowTemperature , s4watr:Conductivity ;
    eau:hasTriggerThreshold "0.05"^^xsd:decimal ;
    eau:hasSamplingPeriod "2"^^xsd:decimal ;
    eau:hasTransmissionInterval "360"^^xsd:decimal .

eau:showerObservingProcedure a eau:ShowerObservingProcedure , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Shower observing procedure"@en , "Procédure d'observation douche"@fr ;
    rdfs:comment "Shower data acquisition via Bluetooth."@en ;
    sosa:implementedBy eau:hansaActivejetDigital ;
    sosa:forProperty s4watr:FlowRate , s4watr:FlowVolume , s4watr:FlowTemperature .

# 
# Greywater FOI
#
eau:domesticGreywater a s4watr:Water , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Domestic greywater"@en , "Eaux grises domestiques"@fr ;
    rdfs:comment "Greywater within the system, used as the feature of interest for observations."@en ;
    sosa:hasProperty s4watr:FlowRate , s4watr:FlowVolume , s4watr:FlowTemperature , s4watr:Conductivity , s4watr:Temperature .

# 
# Consumption events
#
eau:eventEveningShower20260627 a eau:ConsumptionEvent , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Evening shower event"@en , "Événement de douche du soir"@fr ;
    rdfs:comment "An evening water consumption event."@en ;
    time:hasBeginning [ a time:Instant ; time:inXSDDateTime "2026-06-27T16:52:25+02:00"^^xsd:dateTime ] ;
    time:hasEnd [ a time:Instant ; time:inXSDDateTime "2026-06-27T17:02:54+02:00"^^xsd:dateTime ] .

eau:eventAfternoonShower20260628 a eau:ConsumptionEvent , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Afternoon shower event"@en , "Événement de douche de l'après-midi"@fr ;
    rdfs:comment "An afternoon water consumption event."@en ;
    time:hasBeginning [ a time:Instant ; time:inXSDDateTime "2026-06-28T15:49:48+02:00"^^xsd:dateTime ] ;
    time:hasEnd [ a time:Instant ; time:inXSDDateTime "2026-06-28T16:03:38+02:00"^^xsd:dateTime ] .

# 
# Observations
#
eau:obsFlowMainInlet20260627T020617 a sosa:Observation , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:comment "Measurement of flow rate at the main inlet."@en ;
    sosa:madeBySensor eau:flowmeterMainInlet ; sosa:observedProperty s4watr:FlowRate ;
    sosa:hasFeatureOfInterest eau:mpMainInlet ; sosa:hasUltimateFeatureOfInterest eau:domesticGreywater ;
    sosa:usedProcedure eau:eautonomeObservingProcedure ;
    sosa:resultTime "2026-06-27T02:06:17+02:00"^^xsd:dateTime ;
    sosa:hasSimpleResult "0.71"^^xsd:decimal ;
    sosa:hasResult [ a qudt:QuantityValue ; qudt:value "0.71"^^xsd:decimal ; qudt:hasUnit unit:L-PER-MIN ] .

eau:obsFlowHeaterOutput20260627T034633 a sosa:Observation , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:comment "Measurement of flow rate at the heater output."@en ;
    sosa:madeBySensor eau:flowmeterHeaterOutput ; sosa:observedProperty s4watr:FlowRate ;
    sosa:hasFeatureOfInterest eau:mpHeaterOutput ; sosa:hasUltimateFeatureOfInterest eau:domesticGreywater ;
    sosa:usedProcedure eau:eautonomeObservingProcedure ;
    sosa:resultTime "2026-06-27T03:46:33+02:00"^^xsd:dateTime ;
    sosa:hasSimpleResult "3.8"^^xsd:decimal ;
    sosa:hasResult [ a qudt:QuantityValue ; qudt:value "3.8"^^xsd:decimal ; qudt:hasUnit unit:L-PER-MIN ] .

eau:obsColEveningShower20260627 a sosa:ObservationCollection , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Evening shower consumption"@en , "Consommation douche du soir"@fr ;
    rdfs:comment "Flow observations during the evening shower period."@en ;
    sosa:madeBySensor eau:hansaActivejetDigital ; sosa:observedProperty s4watr:FlowRate ;
    sosa:usedProcedure eau:showerObservingProcedure ;
    sosa:hasFeatureOfInterest eau:mpBathroomHot ; sosa:hasUltimateFeatureOfInterest eau:domesticGreywater ;
    sosa:phenomenonTime [
        a time:Interval ;
        time:hasBeginning [ a time:Instant ; time:inXSDDateTime "2026-06-27T16:52:25+02:00"^^xsd:dateTime ] ;
        time:hasEnd [ a time:Instant ; time:inXSDDateTime "2026-06-27T17:02:54+02:00"^^xsd:dateTime ]
    ] ;
    eau:hasConsumptionEvent eau:eventEveningShower20260627 .

eau:obsColAfternoonShower20260628 a sosa:ObservationCollection , owl:NamedIndividual ;
    rdfs:isDefinedBy <https://w3id.org/eautonome/> ;
    rdfs:label "Afternoon shower consumption"@en , "Consommation douche de l'après-midi"@fr ;
    rdfs:comment "Flow observations during the afternoon shower period."@en ;
    sosa:madeBySensor eau:hansaActivejetDigital ; sosa:observedProperty s4watr:FlowRate ;
    sosa:usedProcedure eau:showerObservingProcedure ;
    sosa:hasFeatureOfInterest eau:mpBathroomHot ; sosa:hasUltimateFeatureOfInterest eau:domesticGreywater ;
    sosa:phenomenonTime [
        a time:Interval ;
        time:hasBeginning [ a time:Instant ; time:inXSDDateTime "2026-06-28T15:49:48+02:00"^^xsd:dateTime ] ;
        time:hasEnd [ a time:Instant ; time:inXSDDateTime "2026-06-28T16:03:38+02:00"^^xsd:dateTime ]
    ] ;
    eau:hasConsumptionEvent eau:eventAfternoonShower20260628 .

s4watr:FlowRate sosa:isObservedBy eau:flowmeterHeaterOutput , eau:flowmeterBathroomHot ,
    eau:flowmeterBathroomCold , eau:flowmeterWashingMachine , eau:flowmeterBasementCold ,
    eau:flowmeterToiletCold , eau:hansaActivejetDigital .

s4watr:FlowTemperature sosa:isObservedBy eau:flowmeterHeaterOutput , eau:jumoDigiLineBoiler , eau:jumoDigiLineShower , eau:hansaActivejetDigital .

s4watr:FlowVolume sosa:isObservedBy eau:hansaActivejetDigital .

s4watr:Conductivity sosa:isObservedBy eau:jumoDigiLineBoiler , eau:jumoDigiLineShower .
