Class
type: NodeShape
comment: This is a modeling construct. All classes defined in the watr ontology are instances of `watr:Class`.
subclass of: Class
property:
  comment: A `Class` must be associated with at least one label using the relation `rdfs:label`.
  min count: 1
  path: label
  severity: Warning

Unit Process
type: Class
comment: A unit process is a specific type of water treatment process that can be applied to water.
subclass of: Equipment
subclass of: Class
property:
  class: Water Process
  message: A `Unit Process` must be associated with at least one water treatment process using the relation `watr:hasProcess`.
  min count: 1
  path: has process

Aeration Basin
type: NodeShape
type: Class
comment: A tank where water is aerated to remove gases and volatile organic compounds
subclass of: Reactor
property:
  message: Instances of AerationBasin must have the Aeration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Aeration
  qualified value shapes disjoint: true
property:
  in: Aerobic
  in: Anoxic
  message: Instances of AerationBasin must have the aerobic role.
  min count: 1
  path: hasRole

Aerobic Digester
type: NodeShape
type: Class
comment: A container to promote decomposition of organic waste in aerobic conditions
subclass of: Digester
property:
  message: Instances of AerobicDigester must have the AerobicDigestion process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Aerobic Digestion
  qualified value shapes disjoint: true

Air Release Valve
type: Class
type: NodeShape
comment: Valve for vent trapped air pockets
subclass of: Valve

Anaerobic Digester
type: NodeShape
type: Class
comment: A container to promote decomposition of organic waste in anaerobic conditions
subclass of: Digester
property:
  message: Instances of AnaerobicDigester must have the AnaerobicDigestion process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Anaerobic Digestion
  qualified value shapes disjoint: true

Anode
type: NodeShape
type: Class
comment: An electrode where oxidation occurs, often a sacrificial component in electrocoagulation.
subclass of: Electrode

Ball Valve
type: Class
type: NodeShape
comment: A valve which operates using a spherical ball with a hole (also known as a bore) through the middle.
subclass of: Valve

Battery
type: NodeShape
type: Class
comment: A device that stores energy for later use
subclass of: Battery

Belt Filter Press
type: NodeShape
type: Class
comment: A dewatering unit that uses a belt system to separate solids from liquids
subclass of: Dewatering Unit
property:
  has value: Filtration
  max count: 1
  message: Instances of BeltFilterPress must have the Filtration process.
  min count: 1
  path: has process

Biological Aerated Filter (BAF)
type: NodeShape
type: Class
comment: A filter that uses biological processes to remove contaminants.
subclass of: Filter
subclass of: Reactor
property:
  message: Instances of BiologicalAeratedFilter must have the BiologicallyActiveFiltration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Biologically Active Filtration (BAF)
  qualified value shapes disjoint: true

Boiler
type: NodeShape
type: Class
comment: A device for heating water
subclass of: Boiler
subclass of: Unit Process
property:
  message: Instances of Boiler must have the Incineration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Process-Incineration
  qualified value shapes disjoint: true

Butterfly Valve
type: Class
type: NodeShape
comment: A quarter-turn rotary valve used to isolate, start, stop, or regulate the flow of fluids
subclass of: Valve

Cartridge Filtration Unit
type: NodeShape
type: Class
comment: A filter system using a cartridge to remove contaminants from fluids
subclass of: Filter

Cathode
type: NodeShape
type: Class
comment: An electrode where reduction occurs.
subclass of: Electrode

Centrifugal Dewatering Unit
type: NodeShape
type: Class
comment: A dewatering unit that uses centrifugal force to separate solids from liquids
subclass of: Dewatering Unit
property:
  has value: Centrifugation
  max count: 1
  message: Instances of CentrifugalDewateringUnit must have the Centrifugation process.
  min count: 1
  path: has process

Centrifugal Thickener
type: NodeShape
type: Class
comment: A thickener that uses centrifugal force to separate solids from liquids
subclass of: Thickener
property:
  message: Instances of CentrifugalThickener must have the Centrifugation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Centrifugation
  qualified value shapes disjoint: true

Check Valve
type: Class
type: NodeShape
comment: A valve that normally allows fluid (liquid or gas) to flow through it in only one direction
subclass of: Valve

Chlorination Unit
type: NodeShape
type: Class
comment: A unit that uses chlorine or chlorine compounds for disinfection.
subclass of: Disinfection Unit
property:
  message: Instances of ChlorinationUnit must have the Chlorination process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Chlorination
  qualified value shapes disjoint: true

Coagulation Basin
type: NodeShape
type: Class
comment: A basin where coagulation occurs to destabilize particles in water
subclass of: Reactor
property:
  message: Instances of CoagulationBasin must have the Coagulation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Coagulation
  qualified value shapes disjoint: true

Cogenerator
type: NodeShape
type: Class
comment: An equipment that produces both electricity and heat from the same energy source
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of Cogenerator must have the Cogeneration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Cogeneration
  qualified value shapes disjoint: true

Compressor
type: NodeShape
type: Class
comment: An equipment that increases the pressure of a gas
subclass of: Compressor

Condenser
type: NodeShape
type: Class
comment: A device used to condense a gaseous substance back into a liquid
subclass of: HeatExchanger
subclass of: Unit Process
property:
  message: Instances of Condenser must have the Condensation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Condensation
  qualified value shapes disjoint: true

Conditioner
type: NodeShape
type: Class
comment: An equipment used to prepare raw biogas from a digester by removing impurities
subclass of: Equipment

Conductivity Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the electrical conductivity of a solution
subclass of: Sensor

ContinuouslyStirredTankReactor
type: NodeShape
type: Class
comment: A reactor in which contents are well mixed and reactants are added continuously
subclass of: Reactor

Controller
type: Class
type: NodeShape
comment: A piece of equipment for regulation of a system or component in normal operation, which executes one or more `Function`s.
subclass of: Controller

Crystallizer
type: NodeShape
type: Class
comment: An equipment used to produce solid crystals from a solution
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of Crystallizer must have the Crystallization process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Crystallization
  qualified value shapes disjoint: true

Dimethyl Ether (DME) Recovery System
type: NodeShape
type: Class
comment: A system designed to recover a high percentage of Dimethyl Ether solvent in solvent-driven processes.
subclass of: Equipment

Dissolved Air Flotation Thickener
type: NodeShape
type: Class
comment: A thickener that uses dissolved air to separate solids from liquids
subclass of: Thickener
property:
  message: Instances of DissolvedAirFlotationThickener must have the Flotation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Flotation
  qualified value shapes disjoint: true

Efficiency Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the efficiency of a system or equipment
subclass of: Sensor

Electrically Conducting Membrane
type: NodeShape
type: Class
comment: A membrane capable of conducting electricity, used for in-situ cleaning or electro-oxidation processes.
subclass of: Filter

Electro-Dialytic Crystallizer (EDC)
type: NodeShape
type: Class
comment: A modular system designed for brine concentration and crystallization, integrating electrodialysis and crystallization.
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of ElectroDialyticCrystallizer must have the Crystallization process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Crystallization
  qualified value shapes disjoint: true
property:
  message: Instances of ElectroDialyticCrystallizer must have the Electrodialysis process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Electrodialysis
  qualified value shapes disjoint: true

Electrocoagulation Unit
type: NodeShape
type: Class
comment: A unit that uses electrocoagulation for contaminant removal.
subclass of: Equipment
subclass of: Reactor
property:
  message: Instances of ElectrocoagulationUnit must have the Electrocoagulation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Electrocoagulation (EC)
  qualified value shapes disjoint: true

Electrodialysis
type: NodeShape
type: Class
comment: A unit that uses electricity to drive ion movement through a membrane
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of ElectrodialysisUnit must have the Electrodialysis process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Electrodialysis
  qualified value shapes disjoint: true

Electrolyzer
type: NodeShape
type: Class
comment: An equipment that uses electricity to split liquids into constituent elements
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of Electrolyzer must have the Electrolysis process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Electrolysis
  qualified value shapes disjoint: true

Electromagnetic Field (EMF) Device
type: NodeShape
type: Class
comment: A device that generates an electromagnetic field, used as a pretreatment method for membrane scaling and fouling control.
subclass of: Equipment

DataQuality
type: EnumerationKind-DataQuality
type: NodeShape
type: Class
comment: This EnumerationKind describes methods of data processing, aggregation, or imputation
subclass of: EnumerationKind

Runtime
type: EnumerationKind
type: EnumerationKind-Runtime
type: NodeShape
type: Class
subclass of: EnumerationKind

Evaporator
type: NodeShape
type: Class
comment: A device used to turn the liquid form of a substance into its gaseous form
subclass of: HeatExchanger
subclass of: Unit Process
property:
  message: Instances of Evaporator must have the Evaporation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Evaporation
  qualified value shapes disjoint: true

Flare
type: NodeShape
type: Class
comment: A device used to burn off unwanted gas
subclass of: Equipment

Flocculation Basin
type: NodeShape
type: Class
comment: A tank where flocculation occurs to aggregate particles in water
subclass of: Reactor
property:
  message: Instances of FlocculationBasin must have the Flocculation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Flocculation
  qualified value shapes disjoint: true

Flow Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the flow rate of liquids or gases
subclass of: FlowSensor

Frequency Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the frequency of a signal or mechanical vibration
subclass of: Sensor

Globe Valve
type: Class
type: NodeShape
comment: A linear-motion valve primarily used for stopping, starting, and regulating (throttling) fluid flow
subclass of: Valve

Granular Activated Carbon (GAC) Adsorber
type: NodeShape
type: Class
comment: A unit that uses granulated activated carbon to adsorb impurities from water.
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of GranulatedActivatedCarbonAdsorber must have the GranularActivatedCarbon process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Granular Activated Carbon (GAC)
  qualified value shapes disjoint: true

Gravity Belt Thickener
type: NodeShape
type: Class
comment: A thickener that combines gravity separation with a belt system
subclass of: Belt Thickener
subclass of: Gravity Thickener

Grinder
type: NodeShape
type: Class
comment: Machine that shreds solid waste into tiny particles
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of Grinder must have the Comminution process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Comminution
  qualified value shapes disjoint: true

Grit Chamber
type: NodeShape
type: Class
comment: A chamber used to remove grit from wastewater
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of GritChamber must have the Sedimentation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Sedimentation
  qualified value shapes disjoint: true

Imhoff Tank
type: NodeShape
type: Class
comment: A sedimentation tank specifically designed for septic treatment
subclass of: Septic Tank

Ion Exchange Membrane
type: NodeShape
type: Class
comment: A membrane that selectively allows ions to pass through while blocking other substances
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of IonExchangeMembrane must have the IonExchange process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Ion Exchange
  qualified value shapes disjoint: true

Level Sensor
type: NodeShape
type: Class
comment: A sensor used to detect the level of liquids or solids in a tank
subclass of: Sensor

Manual Measurement Port
type: NodeShape
type: Class
comment: A location where manual measurements are taken
subclass of: Sensor

Membrane Aerated Biofilm Reactor
type: NodeShape
type: Class
comment: A reactor that grows biofilm on membranes supplied with air
subclass of: Reactor
property:
  message: Instances of MembraneAeratedBiofilmReactor must have the Aeration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Aeration
  qualified value shapes disjoint: true

Membrane Bioreactor
type: NodeShape
type: Class
comment: A filter system that combines a membrane process like microfiltration with a biological reactor
subclass of: Filter
subclass of: Reactor
subclass of: Separation Tank
property:
  message: Instances of MembraneBioreactor must have either the Microfiltration or Ultrafiltration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    in: Microfiltration
    in: Ultrafiltration
  qualified value shapes disjoint: true
property:
  has value: Biofiltration
  max count: 1
  message: Instances of MembraneBioreactor must have the Biofiltration process.
  min count: 1
  path: has process

Microfiltration Unit
type: NodeShape
type: Class
comment: A filter system which removes contaminants from a liquid by passing it through a microporous membrane
subclass of: Filter
property:
  message: Instances of MicrofiltrationUnit must have the Microfiltration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Microfiltration
  qualified value shapes disjoint: true

Mixing Basin
type: NodeShape
type: Class
comment: A tank where mixed liquor is stirred without aeration
subclass of: Reactor
property:
  message: Instances of MixingBasin must have the Mixing process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Mixing
  qualified value shapes disjoint: true
property:
  in: Anoxic
  in: Anaerobic
  message: Instances of MixingBasin must have the anoxic or anaerobic role.
  min count: 1
  path: hasRole

Molybdenum Sulfide (MoS2)-based Membrane
type: NodeShape
type: Class
comment: A specific material demonstrating effectiveness in removing heavy metals and oxyanions with high selectivity.
subclass of: Filter

Moving Bed Bioreactor (MBBR)
type: NodeShape
type: Class
comment: MBBR process using suspended growth media a tank
subclass of: Filter
property:
  has value: Biofiltration
  max count: 1
  message: Instances of MovingBedBioreactor must have the Biofiltration process.
  min count: 1
  path: has process

Multifunctional Membrane
type: NodeShape
type: Class
comment: A membrane integrating multiple processes (e.g., reduction, adsorption, filtration) for selective removal and recovery of contaminants.
subclass of: Filter

Nanofiltration Unit
type: NodeShape
type: Class
comment: A filter system that uses a membrane to soften water and remove organic contaminants
subclass of: Filter

Oxidation Ditch
type: NodeShape
type: Class
comment: Modified activated sludge process that uses a ring-shaped channel to biologically remove pollutants
subclass of: Reactor
property:
  message: Instances of OxidationDitch must have the ActivatedSludge process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Activated Sludge
  qualified value shapes disjoint: true

OxygenDemand Sensor
type: NodeShape
type: Class
comment: A sensor used to measure Chemical Oxygen Demand (COD) and Biological Oxygen Demand (BOD)
subclass of: Sensor

Oxygen Meter
type: NodeShape
type: Class
comment: A sensor used to measure the concentration of oxygen
subclass of: ConcentrationSensor

Ozonation Unit
type: NodeShape
type: Class
comment: A unit that uses ozone for water treatment.
subclass of: Equipment
subclass of: Reactor
property:
  message: Instances of OzonationUnit must have the Ozonation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Ozonation
  qualified value shapes disjoint: true

PlugFlowReactor
type: NodeShape
type: Class
comment: A type of reactor where the fluid flows in one direction through the tube
subclass of: Reactor
property:
  comment: A plug flow reactor has at least one inlet fluid connection point
  path: hasConnectionPoint
  qualified min count: 1
  qualified value shape:
    class: InletConnectionPoint
    property:
      class: Mix-Fluid
      path: hasMedium
property:
  comment: A plug flow reactor has at least one outlet fluid connection point
  path: hasConnectionPoint
  qualified min count: 1
  qualified value shape:
    class: OutletConnectionPoint
    property:
      class: Mix-Fluid
      path: hasMedium

Plug Valve
type: Class
type: NodeShape
comment: A valve with cylindrical or conically tapered plugs which can be rotated inside the valve body to control flow through the valve
subclass of: Valve

Pond
type: NodeShape
type: Class
comment: A body of still water smaller than a lake, used for treatment or storage.
subclass of: Equipment

PressureExchanger
type: NodeShape
type: Class
comment: A device used to transfer pressure energy from one fluid to another
subclass of: Equipment

Pressure Sensor
type: NodeShape
type: Class
comment: A sensor used to measure pressure
subclass of: PressureSensor

Pump
type: NodeShape
type: Class
comment: A device used to move fluids by mechanical action
subclass of: Pump

Rapid Sand Filter
type: NodeShape
type: Class
comment: A type of media filter that uses sand as the filter medium and operates at high filtration rates.
subclass of: MediaFiltration Unit
property:
  message: Instances of RapidSandFilter must have the RapidSandFiltration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Rapid Sand Filtration
  qualified value shapes disjoint: true

Reservoir
type: NodeShape
type: Class
comment: A large natural or artificial body of water used for water supply
subclass of: Equipment

Reverse Osmosis Membrane
type: NodeShape
type: Class
comment: A membrane used for reverse osmosis
subclass of: Filter
property:
  message: Instances of ReverseOsmosisMembrane must have the ReverseOsmosis process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Reverse Osmosis (RO)
  qualified value shapes disjoint: true

Feed
type: EnumerationKind-Role
type: Role-Feed
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

MakeUp
type: EnumerationKind-Role
type: NodeShape
type: Class
type: Role-Makeup
subclass of: EnumerationKind-Role

Rotary Drum Thickener
type: NodeShape
type: Class
comment: A thickener that uses a rotating drum to separate solids from liquids
subclass of: Thickener
property:
  message: Instances of RotaryDrumThickener must have the Filtration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Filtration
  qualified value shapes disjoint: true

Rotating Biological Contactor (RBC)
type: NodeShape
type: Class
comment: Fixed-film process using a slowly rotating discs partially submerged in a tank
subclass of: Filter
property:
  message: Instances of RotatingBiologicalContactor must have the Biofiltration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Biofiltration
  qualified value shapes disjoint: true

Rotation Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the rotational speed or position of an object
subclass of: Sensor

Screen
type: NodeShape
type: Class
comment: An equipment used for separation
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of Screen must have the Screening process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Screening
  qualified value shapes disjoint: true

SequencingBatchReactor
type: NodeShape
type: Class
comment: A type of activated sludge process for wastewater treatment
subclass of: Reactor
subclass of: Separation Tank
property:
  comment: A SBR has at least 1 sludge return point
  path: hasConnectionPoint
  qualified min count: 1
  qualified value shape:
    class: OutletConnectionPoint
    property:
      class: Sludge
      path: hasMedium
property:
  message: Instances of SequencingBatchReactor must have the ActivatedSludge process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Activated Sludge
  qualified value shapes disjoint: true
xone:
  property:
    comment: A SBR has at least 1 inlet fluid connection point
    path: hasConnectionPoint
    qualified min count: 1
    qualified value shape:
      class: InletConnectionPoint
      property:
        class: Mix-Fluid
        path: hasMedium
  property:
    comment: A SBR has at least 1 outlet fluid connection point
    path: hasConnectionPoint
    qualified min count: 1
    qualified value shape:
      class: OutletConnectionPoint
      property:
        class: Mix-Fluid
        path: hasMedium
xone:
  property:
    comment: A SBR has at least 1 bidirectional fluid connection point
    path: hasConnectionPoint
    qualified min count: 1
    qualified value shape:
      class: BidirectionalConnectionPoint
      property:
        class: Mix-Fluid
        path: hasMedium

Sluice Gate
type: Class
type: NodeShape
comment: Large gate that slide vertically to control flow in channels, reservoirs, or treatment basins
subclass of: Gate

Solvent Extraction System
type: NodeShape
type: Class
comment: A system that uses a solvent to selectively extract water from highly saline brines.
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of SolventExtractionSystem must have the SolventExtraction process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Solvent-Based Extraction
  qualified value shapes disjoint: true

Speed Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the speed of an object or fluid
subclass of: Sensor

Standardized Flow Cell
type: NodeShape
type: Class
comment: An experimental apparatus developed for research experiments, for example in Electrocoagulation (EC), in continuous flow mode.
subclass of: Equipment

State of Charge Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the remaining charge in a battery or energy storage system
subclass of: Sensor

StaticMixer
type: NodeShape
type: Class
comment: A device for mixing liquids without moving components
subclass of: Reactor
property:
  message: Instances of StaticMixer must have the Mixing process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Mixing
  qualified value shapes disjoint: true

Temperature Sensor
type: NodeShape
type: Class
comment: A sensor used to measure temperature
subclass of: TemperatureSensor

Three Way Valve
type: Class
type: NodeShape
comment: A valve that features three ports (connections)
subclass of: Valve

TOC Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the total organic compound concentration
subclass of: Concentration Sensor

Trickling Filter
type: NodeShape
type: Class
comment: A filter system that treats wastewater by trickling it over a bed of rocks or plastic
subclass of: Filter
property:
  message: Instances of TricklingFilter must have the TricklingFiltration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: TricklingFiltration
  qualified value shapes disjoint: true

Turbidity Meter
type: NodeShape
type: Class
comment: A sensor used to measure the turbidity (clarity) of a fluid
subclass of: Sensor

UV/H2O2 Reactor
type: NodeShape
type: Class
comment: A specific reactor used in Advanced Oxidation Processes (AOPs) combining UV light with hydrogen peroxide.
subclass of: Reactor
property:
  message: Instances of UVH2O2Reactor must have the AdvancedOxidation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Advanced Oxidation Process (AOP)
  qualified value shapes disjoint: true

Ultrafiltration Unit
type: NodeShape
type: Class
comment: A filter system that uses a pressure-driven barrier to separate particles and solutes in a fluid
subclass of: Filter
property:
  message: Instances of UltrafiltrationUnit must have the Ultrafiltration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Ultrafiltration
  qualified value shapes disjoint: true

Ultravioletlight Unit
type: NodeShape
type: Class
comment: A unit using ultraviolet light for disinfection
subclass of: Disinfection Unit
property:
  message: Instances of UltravioletLightUnit must have the UVDisinfection process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: UV Disinfection
  qualified value shapes disjoint: true

Valve
type: Class
type: NodeShape
comment: A device that regulates, directs or controls the flow of a fluid (gases or liquids) by opening, closing, or partially obstructing various passageways.
subclass of: Valve

Variable Frequency Drive
type: Class
type: NodeShape
comment: A type of AC motor drive that controls speed and torque by varying the frequency of the input electricity.
subclass of: VariableFrequencyDrive

Volume Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the volume of a substance
subclass of: Sensor

Wetland
type: NodeShape
type: Class
comment: A marsh or bog-like area that is permanently or seasonally saturated with water, used for pre- or post-treatment.
subclass of: Equipment

pH Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the pH of a solution
subclass of: Concentration Sensor

NAWI Water EnumerationKinds Ontology
comment: An ontology for enumerationkinds used in the NAWI project
imports: all

NAWI Water Equipment Ontology
comment: An ontology for water equipment used in the NAWI project
imports: all

NAWI Water Process Types Ontology
comment: An ontology for types of unit process

NAWI Water Substances Ontology
comment: An ontology for water substances used in the NAWI project
imports: all

Expanded Uncertainty
type: NodeShape
type: Class
comment: Total uncertainty multiplied by coverage factor
subclass of: Accuracy Metrics

Percent Recovery
type: NodeShape
type: Class
comment: Ratio of measured to known value (for spike/recovery tests)
subclass of: Accuracy Metrics

R-Squared
type: NodeShape
type: Class
comment: Coefficient of determination for calibration curves
subclass of: Accuracy Metrics

Total Uncertainty
type: NodeShape
type: Class
comment: Combined standard uncertainty from all sources
subclass of: Accuracy Metrics

Count
type: NodeShape
type: Class
comment: Count of data points
subclass of: Aggregate

Maximum
type: NodeShape
type: Class
comment: Maximum value from data points
subclass of: Aggregate

Mean
type: NodeShape
type: Class
comment: Arithmetic mean (average) of data points
subclass of: Aggregate

Median
type: NodeShape
type: Class
comment: Middle value of sorted data points
subclass of: Aggregate

Minimum
type: NodeShape
type: Class
comment: Minimum value from data points
subclass of: Aggregate

Mode
type: NodeShape
type: Class
comment: Most frequently occurring value in data points
subclass of: Aggregate

Range
type: NodeShape
type: Class
comment: Difference between maximum and minimum values
subclass of: Aggregate

Standard Deviation
type: NodeShape
type: Class
comment: Standard deviation of data points
subclass of: Aggregate

Sum
type: NodeShape
type: Class
comment: Sum of all data points
subclass of: Aggregate

Variance
type: NodeShape
type: Class
comment: Variance of data points
subclass of: Aggregate

Count
type: NodeShape
type: Class
comment: The associated property represents a count over an aggregation scope.
subclass of: Aggregation

Maximum
type: NodeShape
type: Class
comment: The associated property represents the maximum value over an aggregation scope.
subclass of: Aggregation

Mean
type: NodeShape
type: Class
comment: The associated property represents the arithmetic mean over an aggregation scope.
subclass of: Aggregation

Median
type: NodeShape
type: Class
comment: The associated property represents the median value over an aggregation scope.
subclass of: Aggregation

Minimum
type: NodeShape
type: Class
comment: The associated property represents the minimum value over an aggregation scope.
subclass of: Aggregation

Mode
type: NodeShape
type: Class
comment: The associated property represents the most frequently occurring value over an aggregation scope.
subclass of: Aggregation

Percentile
type: NodeShape
type: Class
comment: The associated property represents the percentile value over an aggregation scope.
subclass of: Aggregation

Range
type: NodeShape
type: Class
comment: The associated property represents the difference between maximum and minimum over an aggregation scope.
subclass of: Aggregation

Standard Deviation
type: NodeShape
type: Class
comment: The associated property represents the standard deviation over an aggregation scope.
subclass of: Aggregation

Sum
type: NodeShape
type: Class
comment: The associated property represents the sum over an aggregation scope.
subclass of: Aggregation

Total
type: NodeShape
type: Class
comment: The associated property represents the total amount of the characterized quantity or substance.
subclass of: Aggregation
equivalent class: Aspect-Total

Variance
type: NodeShape
type: Class
comment: The associated property represents the variance over an aggregation scope.
subclass of: Aggregation

Belt Thickener
type: NodeShape
type: Class
comment: A thickener that uses a belt system to separate solids from liquids
subclass of: Thickener
property:
  message: Instances of BeltThickener must have the Filtration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Filtration
  qualified value shapes disjoint: true

Alum
type: NodeShape
type: Class
comment: Aluminum sulfate (alum), a common coagulant
subclass of: Coagulant

Ferric Chloride
type: NodeShape
type: Class
comment: Ferric chloride, a coagulant for wastewater treatment
subclass of: Coagulant

Polyaluminum Chloride
type: NodeShape
type: Class
comment: Polyaluminum chloride (PAC), a coagulant
subclass of: Coagulant

Ammonia
type: NodeShape
type: Class
comment: Ammonia present as a dissolved nitrogen-bearing constituent of a treatment medium.
subclass of: Medium-Constituent

Constituent Bacteria
type: NodeShape
type: Class
comment: Bacteria: Microscopic single-celled organisms that can be found in water
subclass of: Medium-Constituent

Constituent Cyanide
type: NodeShape
type: Class
comment: Cyanide: A highly toxic chemical compound that can be harmful to aquatic life
subclass of: Medium-Constituent

Dissolved Oxygen
type: NodeShape
type: Class
comment: Molecular oxygen dissolved in a treatment medium.
subclass of: Medium-Constituent

Inorganic Carbon
type: NodeShape
type: Class
comment: Inorganic carbon species present as constituents of a treatment medium.
subclass of: Medium-Constituent

Constituent-Inorganics
type: NodeShape
type: Class
comment: Inorganic chemical matter present as a constituent of a treatment medium.
subclass of: Medium-Constituent

Constituent-Metals
type: NodeShape
type: Class
comment: Constituent-Metals
subclass of: Medium-Constituent

Nitrate
type: NodeShape
type: Class
comment: Nitrate present as an oxidized nitrogen-bearing constituent of a treatment medium.
subclass of: Medium-Constituent

Nitrite
type: NodeShape
type: Class
comment: Nitrite present as an intermediate nitrogen-bearing constituent of a treatment medium.
subclass of: Medium-Constituent

Nitrogen Oxides
type: NodeShape
type: Class
comment: Nitrogen oxide species present as constituents of a treatment medium, including gaseous or dissolved forms.
subclass of: Medium-Constituent

Organic Carbon
type: NodeShape
type: Class
comment: Organic carbon present as a constituent of a treatment medium.
subclass of: Constituent-Organics

Filter
type: NodeShape
type: Class
comment: Parent class for filtering methods to remove outliers or unwanted data points
subclass of: EnumerationKind-DataProcessing

Chlorine
type: NodeShape
type: Class
comment: Chlorine, a common disinfectant
subclass of: Disinfectant

Ozone
type: NodeShape
type: Class
comment: Ozone, an advanced disinfectant
subclass of: Disinfectant

Absolute Error
type: NodeShape
type: Class
comment: Absolute difference between measured and true/reference value
subclass of: Error Metrics

Bias
type: NodeShape
type: Class
comment: Systematic deviation from true value (trueness measure)
subclass of: Error Metrics

Mean Absolute Error (MAE)
type: NodeShape
type: Class
comment: Average of absolute errors across multiple measurements
subclass of: Error Metrics

Mean Absolute Percentage Error (MAPE)
type: NodeShape
type: Class
comment: Average of absolute percentage errors
subclass of: Error Metrics

Mean Squared Error (MSE)
type: NodeShape
type: Class
comment: Average of squared errors
subclass of: Error Metrics

Relative Error
type: NodeShape
type: Class
comment: Error expressed as a percentage of the true/reference value
subclass of: Error Metrics

Root Mean Squared Error (RMSE)
type: NodeShape
type: Class
comment: Square root of MSE, in same units as measurements
subclass of: Error Metrics

Polyacrylamide
type: NodeShape
type: Class
comment: Polyacrylamide, a common flocculant
subclass of: Polymer Flocculant

Gate
type: Class
type: NodeShape
comment: Tool to control water flow and isolate sections
subclass of: Valve

Gravity Thickener
type: NodeShape
type: Class
comment: A thickener that uses gravity to separate solids from liquids
subclass of: Thickener
property:
  message: Instances of GravityThickener must have the Sedimentation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Sedimentation
  qualified value shapes disjoint: true

Sodium Sulfide
type: NodeShape
type: Class
comment: Sodium sulfide, used to precipitate heavy metals
subclass of: Heavy Metal Removal Agent

High Purity Oxygen
type: NodeShape
type: Class
comment: Class for high purity oxygen used in wastewater treatment
subclass of: Wastewater Treatment Chemical

Backward Fill
type: NodeShape
type: Class
comment: Propagate next valid observation backward to fill gaps
subclass of: Interpolation

Forward Fill
type: NodeShape
type: Class
comment: Propagate last valid observation forward to fill gaps
subclass of: Interpolation

Linear Interpolation
type: NodeShape
type: Class
comment: Linear interpolation between two adjacent data points
subclass of: Interpolation

Nearest Neighbor
type: NodeShape
type: Class
comment: Use the value of the nearest known data point
subclass of: Interpolation

Polynomial Interpolation
type: NodeShape
type: Class
comment: Polynomial interpolation using multiple data points
subclass of: Interpolation

Spline Interpolation
type: NodeShape
type: Class
comment: Cubic spline interpolation for smooth curves
subclass of: Interpolation

MediaFiltration Unit
type: NodeShape
type: Class
comment: A filter system that uses a bed of material to filter out contaminants
subclass of: Filter
property:
  has value: Media Filtration
  max count: 1
  message: Instances of MediaFiltrationUnit must have the MediaFiltration process.
  min count: 1
  path: has process

Decimal Scaling
type: NodeShape
type: Class
comment: Normalize by moving the decimal point of values
subclass of: Normalization

Min-Max Normalization
type: NodeShape
type: Class
comment: Scale data to a fixed range, typically [0, 1]
subclass of: Normalization

Z-Score Normalization
type: NodeShape
type: Class
comment: Standardize data to have mean=0 and standard deviation=1
subclass of: Normalization

Activated Carbon
type: NodeShape
type: Class
comment: Activated carbon, used to absorb odors
subclass of: Odor Control Agent

Hydrogen Peroxide
type: NodeShape
type: Class
comment: Hydrogen peroxide, an oxidizing agent commonly used in advanced oxidation processes
subclass of: Oxidizing Agent

Coefficient of Variation
type: NodeShape
type: Class
comment: Ratio of standard deviation to mean (relative precision)
subclass of: Precision Metrics

Confidence Interval
type: NodeShape
type: Class
comment: Range within which true value likely falls with specified confidence level
subclass of: Precision Metrics

Repeatability Standard Deviation
type: NodeShape
type: Class
comment: Standard deviation under repeatability conditions (same operator, equipment, short time)
subclass of: Precision Metrics

Reproducibility Standard Deviation
type: NodeShape
type: Class
comment: Standard deviation under reproducibility conditions (different operators, equipment, time)
subclass of: Precision Metrics

Air Scouring
type: Class
subclass of: Cleaning
definition: A cleaning process that uses injected air to dislodge accumulated foulants or solids from filter media or membrane surfaces.

Backwashing
type: Class
subclass of: Cleaning
definition: A cleaning process in which water, and sometimes air, is driven backward through a filter or membrane system to remove accumulated solids.

Chemical Precipitation
type: Class
subclass of: Chemical Process
definition: Removal of nutrients or metals using coagulants

Closed Circuit Reverse Osmosis (CCRO)
type: Class
subclass of: Reverse Osmosis (RO)
definition: A specific RO configuration explored for optimization, capable of adapting to unmeasured changes like feed salinity.

Composting
type: Class
subclass of: BiosolidsDisposal
definition: Biological degradation of organic materials under controlled aerobic conditions.

Dechlorination
type: Class
subclass of: Disinfection
definition: A post-disinfection process that removes excess chlorine compounds.

Drying
type: Class
subclass of: Dewatering
subclass of: Evaporation
definition: Drying of biosolids to reduce moisture content.

Electro-Dialytic Crystallization (EDC)
type: Class
subclass of: Crystallization
subclass of: Electrodialysis
definition: A novel integrated process combining electrodialysis and crystallization for energy-efficient Zero-Liquid Discharge (ZLD) by maintaining a saturated brine stream.

Electrooxidation (EO)
type: Class
subclass of: Oxidation
subclass of: Physical Process
definition: An advanced oxidation process often combined with EC to enhance contaminant removal and inactivation, particularly for viruses.

Elutriation
type: Class
subclass of: Separation
definition: A process that uses a stream of fluid flowing upward to separate a mixture of particles based on their size, shape, and density.

Feed Reversal Reverse Osmosis (FRRO)
type: Class
subclass of: Reverse Osmosis (RO)
definition: A dynamic and cyclic design to mitigate scaling and balance salt/foulant load, enabling high recovery.

Five-Stage BARDENPHO (BARnard DENitrification and PHOsphorus removal)
type: Class
subclass of: Activated Sludge
subclass of: Denitrification
subclass of: Nitrification
definition: A five-stage biological nutrient removal process specifically designed for nitrogen and phosphorus.

Fluidized Bed Incineration
type: Class
subclass of: Combustion
definition: A process that combusts a constantly moving bed of biosolids.

Four-Stage BARDENPHO (BARnard DENitrification and PHOsphorus removal)
type: Class
subclass of: Activated Sludge
subclass of: Denitrification
subclass of: Nitrification
definition: A four-stage biological nutrient removal process with two anoxic and two aerobic zones.

High-Density Sludge (HDS) Process
type: Class
subclass of: Chemical Process
subclass of: Physical Process
definition: A method for treating acid mine drainage involving neutralization.

Land Application
type: Class
subclass of: BiosolidsDisposal
definition: Beneficial reuse of biosolids by spreading on agricultural land.

Biosolids Landfill
type: Class
subclass of: BiosolidsDisposal
definition: Disposal of biosolids in a landfill.

Modified Ludzack-Ettinger (MLE)
type: Class
subclass of: Anoxic-Aerobic
definition: Modification of AO a with internal recycle.

Membrane Distillation (MD)
type: Class
subclass of: Membrane Process
definition: A thermal membrane process, often subject to CFD modeling for optimization of heat and mass transfer.

Multiple Hearth Incineration (MHI)
type: Class
subclass of: Combustion
definition: A process that combusts biosolids as they move through a series of stacked hearths with controlled air flow.

Neutralization
type: Class
subclass of: pH Adjustment
definition: pH adjustment to neutral, typically with a base, used in processes like high-density sludge treatment.

Osmotically Assisted Reverse Osmosis (OARO)
type: Class
subclass of: Reverse Osmosis (RO)
definition: A process with validated Computational Fluid Dynamics (CFD) models for cost optimization.

Purging
type: Class
subclass of: Cleaning
definition: A process that flushes retained liquid, solids, or gas from equipment or piping to restore operating conditions or prepare for another cycle.

Recirculation
type: Class
subclass of: Physical Process
definition: A process that returns a portion of a treated or intermediate flow back upstream to maintain hydraulic, solids, or biological performance.

Chemical Reduction
type: Class
subclass of: Chemical Process
definition: Mechanism by which contaminants are transformed through the gain of electrons.

Slow Sand Filtration
type: Class
subclass of: Media Filtration
definition: A filtration process that uses a bed of sand to remove impurities at low flow rates.

Softening
type: Class
subclass of: Chemical Addition
definition: Chemical precipitation of calcium/magnesium

Stripping
type: Class
subclass of: Separation
definition: Gas stripping for removal of dissolved gases such as ammonia and volatile organic compounds.

Thermal Disinfection
type: Class
subclass of: Disinfection
definition: Heat-based pathogen inactivation such as pasteurization.

Thermal Hydrolysis
type: Class
subclass of: Hydrolysis
definition: A process that breaks down complex organic matter into soluble compounds using heat and pressure.

University of Cape Town (UCT)
type: Class
subclass of: Anaerobic-Anoxic-Oxic (A2O)
definition: Variant of A2O with modified recycle streams for phosphorus removal.

Reducing Agent
type: NodeShape
type: Class
comment: Class for reducing agents used in water treatment
subclass of: Wastewater Treatment Chemical

Role-Backwash
type: EnumerationKind
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Containment
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Detention
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Equalization
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Extended
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Role-NitrogenRemoval
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: Role-NutrientRemoval

Role-NutrientRemoval
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Permeate
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Role-PhosphorusRemoval
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: Role-NutrientRemoval

Posttreatment
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Pretreatment
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Primary
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Retention
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Secondary
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Solids handling (e.g., biosolids disposal)
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Stabilization
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Stepfeed
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Storage
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Tertiary
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Sedimentation Tank
type: NodeShape
type: Class
comment: A tank used to remove solids from liquids through sedimentation
subclass of: Separation Tank
property:
  message: Instances of SedimentationTank must have the Sedimentation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Sedimentation
  qualified value shapes disjoint: true

Septic Tank
type: NodeShape
type: Class
comment: A septic tank for on-site wastewater treatment
subclass of: Sedimentation Tank

Sludge-MixedLiquor
type: NodeShape
type: Class
composed of: Suspended Solids Fraction
  type: QuantifiableProperty
  of constituent: Constituent-SuspendedSolids
  has quantity kind: MassFraction
  has unit: PERCENT
composed of: Water Fraction
  type: QuantifiableProperty
  of constituent: Constituent-H2O
  has quantity kind: MassFraction
  has unit: PERCENT
comment: Mixed liquor is the mixture of wastewater and activated sludge in the aeration basin of a wastewater treatment plant. It contains suspended solids and water.
subclass of: Sludge

Downsampling
type: NodeShape
type: Class
comment: Decrease the sampling frequency of data to a lower rate
subclass of: Synchronization

Resampling
type: NodeShape
type: Class
comment: Resample data to a different frequency or time interval
subclass of: Synchronization

Time Alignment
type: NodeShape
type: Class
comment: Align data points from different sources to common timestamps
subclass of: Synchronization

Upsampling
type: NodeShape
type: Class
comment: Increase the sampling frequency of data to a higher rate
subclass of: Synchronization

Water-Brackish
type: NodeShape
type: Class
comment: Water-Brackish
subclass of: Fluid-Water

Water-Brine
type: NodeShape
type: Class
composed of: QuantifiableProperty
  of constituent: Salt-NaCl
  has quantity kind: MassFraction
  has unit: PERCENT
composed of: QuantifiableProperty
  of constituent: Constituent-H2O
  has quantity kind: MassFraction
  has unit: PERCENT
comment: Water-Brine
subclass of: Fluid-Water

Water-Freshwater
type: NodeShape
type: Class
comment: Water-Freshwater
subclass of: Fluid-Water

Water-Seawater
type: NodeShape
type: Class
comment: Water-Seawater
subclass of: Fluid-Water

has accuracy
type: Property
comment: The `hasAccuracy` relation is used to link to a numerical `Property` whose value indicates the maximum expected deviation between the measured value and the true value in engineering units.

has aggregation
type: Property
comment: The `hasAggregation` relation associates a property with water-specific aggregation semantics such as total, mean, maximum, or minimum.

has bias
type: Property
comment: The `hasBias` relation is used to link to a numerical `Property` whose value indicates the systematic offset or drift in measurements relative to the true value.

has calibration curve
type: Property
comment: The `hasCalibrationCurve` relation is used to link to a `Property` that describes the mathematical relationship or lookup table between raw sensor output and calibrated engineering units.

has drop rate
type: Property
comment: The `hasDropRate` relation is used to link to a `Property` describes the amount of data points lost within a range of time due to latencies or other factors.

has numeric range
type: Property
comment: The `hasNumericRange` relation is used to link to a numerical `Property` whose value indicates the span between the minimum and maximum measurable values in engineering units.

has numeric resolution
type: Property
comment: The `hasNumericResolution` relation is used to link to a numerical `Property` whose value indicates the smallest distinguishable difference between two measured values in engineering units.

has precision
type: Property
comment: The `hasPrecision` relation is used to link to a numerical `Property` whose value indicates the repeatability or reproducibility of measurements under identical conditions.

has processed data
type: Property
comment: The `hasProcessedData` relation is used to link to a `Property` that describes any data processing, filtering, or transformation applied to the raw measurement values.

has response time
type: Property
comment: The `hasResponseTime` relation is used to link to a numerical `Property` whose value indicates the time required for the sensor or measurement system to respond to a step change in the measured variable.

has temporal range
type: Property
comment: The `hasTemporalRange` relation is used to link to a numerical `Property` whose value indicates the start and end times for which data has been recorded.

has temporal resolution
type: Property
comment: The `hasTemporalResolution` relation is used to link to a numerical `Property` whose value indicates the minimum time interval between successive measurements or data points.

has variable range
type: Property
comment: The `hasVariableRange` relation is used to link to a numerical `Property` whose value indicates the expected range of variation for the measured variable under normal operating conditions.

Lime
type: NodeShape
type: Class
comment: Calcium hydroxide (lime), used to increase pH
subclass of: pH Adjuster

Sulfuric Acid
type: NodeShape
type: Class
comment: Sulfuric acid, used to decrease pH
subclass of: pH Adjuster

Concentration Sensor
type: NodeShape
type: Class
comment: A sensor used to measure the concentration of specific substances (e.g., Total Dissolved Solids)
subclass of: ConcentrationSensor

Constituent-Organics
type: NodeShape
type: Class
comment: Organic chemical matter present as a constituent of a treatment medium.
subclass of: Medium-Constituent

Constituent-Particles
type: NodeShape
type: Class
comment: Particulate matter present as a constituent of a medium.
subclass of: Medium-Constituent

Constituent-Salt
type: NodeShape
type: Class
comment: Constituent-Salt
subclass of: Medium-Constituent

Constituent-SuspendedSolids
type: NodeShape
type: Class
comment: Solid particulate matter suspended in water rather than dissolved, including organic and inorganic material carried in the fluid.
subclass of: Constituent-Solids

Dewatering Unit
type: NodeShape
type: Class
comment: A unit used to remove water from solid material
subclass of: Equipment
subclass of: Unit Process
property:
  message: Instances of DewateringUnit must have the Dewatering process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Dewatering
  qualified value shapes disjoint: true

Digester
type: NodeShape
type: Class
comment: A container to promote decomposition of organic waste
subclass of: Reactor
subclass of: Unit Process
property:
  message: Instances of Digester must have the Digestion process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Digestion
  qualified value shapes disjoint: true

Disinfection Unit
type: NodeShape
type: Class
comment: A unit used to eliminate or reduce harmful microorganisms
subclass of: Reactor
property:
  message: Instances of DisinfectionUnit must have the Disinfection process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Disinfection
  qualified value shapes disjoint: true

Electrode
type: NodeShape
type: Class
comment: A component where electrochemical reactions occur in electrified processes.
subclass of: Equipment

Flocculant
type: NodeShape
type: Class
comment: Class for flocculants used in wastewater treatment
subclass of: Wastewater Treatment Chemical

Polymer Flocculant
type: NodeShape
type: Class
comment: Flocculant that is a type of polymer
subclass of: Flocculant

Heavy Metal Removal Agent
type: NodeShape
type: Class
comment: Class for chemicals used to remove heavy metals
subclass of: Wastewater Treatment Chemical

Odor Control Agent
type: NodeShape
type: Class
comment: Class for chemicals used for odor control
subclass of: Wastewater Treatment Chemical

Oxidizing Agent
type: NodeShape
type: Class
comment: Class for oxidizing agents used in water treatment
subclass of: Wastewater Treatment Chemical

Anaerobic-Anoxic-Oxic (A2O)
type: Class
subclass of: Activated Sludge
subclass of: Denitrification
subclass of: Nitrification
definition: Anaerobic-anoxic-aerobic process for simultaneous biological nitrogen and phosphorus removal.

Anoxic-Aerobic
type: Class
subclass of: Activated Sludge
subclass of: Denitrification
subclass of: Nitrification
definition: Two-stage process with anoxic zone followed by aerobic zone for biological nitrogen removal.

Adsorption
type: Class
subclass of: Physical Process
definition: A process by which substances bind to a surface.

Advanced Oxidation Process (AOP)
type: Class
subclass of: Oxidation
definition: Processes combining UV light with oxidants (e.g., UV-AOP) to destroy contaminants.

Aerobic Digestion
type: Class
subclass of: Digestion
definition: A biological process that breaks down organic matter in the presence of oxygen.

Anaerobic Digestion
type: Class
subclass of: Digestion
definition: A biological process that breaks down organic matter in the absence of oxygen.

Biologically Active Filtration (BAF)
type: Class
subclass of: Biofiltration
definition: A biologically activated filtration column.

Chlorination
type: Class
subclass of: Disinfection
definition: A disinfection process that uses chlorine or chlorine compounds.

Cogeneration
type: Class
subclass of: Combustion
definition: A process that combusts biosolids or biogas to produce electricity and heat simultaneously.

Comminution
type: Class
subclass of: Physical Process
definition: Process of reducing solid materials into smaller particles through mechanical forces such as crushing, grinding, impact, shear, or compression.

Condensation
type: Class
subclass of: Physical Process
definition: A process of turning a vapor into a liquid.

Electrocoagulation (EC)
type: Class
subclass of: Coagulation
subclass of: Physical Process
definition: An electrified pretreatment technology using sacrificial anodes to release coagulant precursors for contaminant removal.

Electrolysis
type: Class
subclass of: Chemical Process
definition: A process that uses a direct electric current to drive an otherwise non-spontaneous chemical reaction.

Flocculation
type: Class
subclass of: Chemical Process
subclass of: Mixing
definition: A unit process that gently mixes water to allow coagulated particles to form larger clumps.

Flotation
type: Class
subclass of: Physical Process
definition: A unit process that uses buoyancy to separate solids from water, often using air bubbles.

Gas Transfer
type: Class
subclass of: Physical Process
definition: A unit process that transfers gases, such as oxygen or carbon dioxide, into or out of water.

Granular Activated Carbon (GAC)
type: Class
subclass of: Adsorption
subclass of: Filtration
definition: A process that uses an activated carbon filter to adsorb impurities from water.

Hydrolysis
type: Class
subclass of: Chemical Process
definition: A process reaction in which a water molecule is consumed to split a larger molecule into smaller fragments.

Ion Exchange
type: Class
subclass of: Chemical Process
subclass of: Physical Process
definition: A process in which ions are exchanged between a solution and an ion-exchange resin or membrane.

Ozonation
type: Class
subclass of: Oxidation
definition: A water treatment process that uses ozone as an oxidant.

Rapid Sand Filtration
type: Class
subclass of: Media Filtration
definition: A filtration process that uses a bed of sand to remove impurities at high flow rates.

Screening
type: Class
subclass of: Separation
definition: A unit process that removes large solids from water, such as leaves, branches, and other debris.

Solidification
type: Class
subclass of: Physical Process
definition: A process of turning a liquid into a solid (e.g., freezing).

Solvent-Based Extraction
type: Class
subclass of: Chemical Process
definition: A non-membrane, non-thermal method using a solvent to selectively extract water from highly saline brines.

Thickening
type: Class
subclass of: Physical Process
definition: A process to increase the solids content of a sludge or slurry.

TricklingFiltration
type: Class
subclass of: Biofiltration
definition: Trickling filter using any media (e.g., plastic, sand, gravel, etc.)

UV Disinfection
type: Class
subclass of: Disinfection
definition: A disinfection process that uses ultraviolet light to inactivate microorganisms.

pH Adjustment
type: Class
subclass of: Chemical Addition
definition: A unit process that adjusts the pH of water to a desired level using chemicals.

Aerobic
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Anaerobic
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Salt-NaCl
type: NodeShape
type: Class
comment: Salt-NaCl
subclass of: Constituent-Salt

Tank
type: NodeShape
type: Class
comment: A tank with at least one inlet and one outlet
subclass of: Equipment
property:
  comment: A tank may have a drain connection point
  path: hasConnectionPoint
  qualified min count: 0
  qualified value shape:
    class: OutletConnectionPoint
    property:
      has value: Role-Drain
      path: hasRole
    property:
      class: Mix-Fluid
      path: hasMedium
property:
  comment: A tank may have an overflow connection point
  path: hasConnectionPoint
  qualified min count: 0
  qualified value shape:
    class: OutletConnectionPoint
    property:
      class: Mix-Fluid
      path: hasMedium
    property:
      has value: Role-Overflow
      path: hasRole
property:
  comment: A tank has an inlet fluid connection point
  path: hasConnectionPoint
  qualified min count: 1
  qualified value shape:
    class: InletConnectionPoint
    property:
      class: Mix-Fluid
      path: hasMedium
property:
  comment: A tank has an outlet fluid connection point
  path: hasConnectionPoint
  qualified min count: 1
  qualified value shape:
    class: OutletConnectionPoint
    not:
      property:
        has value: Role-Drain
        min count: 1
        path: hasRole
    property:
      class: Mix-Fluid
      path: hasMedium

has measurement range
type: Property
comment: The `hasMeasurementRange` relation is used to link to a numerical `Property` whose value indicates the expected range of variation that can physically be measured, e.g. by a sensor.

Constituent-Solids
type: NodeShape
type: Class
comment: Solid material present as a constituent of a treatment medium.
subclass of: Constituent-Particles

Disinfectant
type: NodeShape
type: Class
comment: Class for disinfectants used in wastewater treatment
subclass of: Wastewater Treatment Chemical

Sludge
type: NodeShape
type: Class
composed of: QuantifiableProperty
  of constituent: Constituent-Solids
  has quantity kind: MassFraction
  has unit: PERCENT
composed of: QuantifiableProperty
  of constituent: Constituent-H2O
  has quantity kind: MassFraction
  has unit: PERCENT
comment: A semi-solid slurry composed of water and solids.
subclass of: Mix-Fluid

Aeration
type: Class
subclass of: Gas Transfer
definition: A unit process that aerates (i.e., transfers oxygen into water).

Centrifugation
type: Class
subclass of: Physical Process
definition: A process that uses centrifugal force to separate substances of different densities.

Coagulation
type: Class
subclass of: Chemical Addition
definition: A unit process that adds chemicals to water to cause small particles to clump together.

Dewatering
type: Class
subclass of: Physical Process
definition: A process to remove or separate water from another material, typically solids.

Evaporation
type: Class
subclass of: Physical Process
definition: A process of turning a liquid into a vapor.

Membrane Process
type: Class
subclass of: Filtration
definition: A process that uses a semi-permeable membrane to separate substances.

Microfiltration
type: Class
subclass of: Filtration
definition: 0.1 to 1 micron-scale filtration

Ultrafiltration
type: Class
subclass of: Filtration
definition: 0.01 to 0.1 micron-scale filtration

Anoxic
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: EnumerationKind-Role

Role-Drain
type: EnumerationKind-Role
type: NodeShape
type: Class
subclass of: Role-Discharge

Separation Tank
type: NodeShape
type: Class
comment: A tank that has at least two outlets (e.g. overflow and underflow)
subclass of: Tank
subclass of: Unit Process
property:
  message: Instances of SeparationTank must have the Separation process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Separation
  qualified value shapes disjoint: true
property:
  comment: A separation tank has at least two outlet connection points
  path: hasConnectionPoint
  qualified min count: 2
  qualified value shape:
    class: OutletConnectionPoint
    property:
      class: Mix-Fluid
      path: hasMedium

pH Adjuster
type: NodeShape
type: Class
comment: Class for pH adjusters used in wastewater treatment
subclass of: Wastewater Treatment Chemical

Coagulant
type: NodeShape
type: Class
comment: Class for coagulants used in wastewater treatment
subclass of: Wastewater Treatment Chemical

Normalization
type: NodeShape
type: Class
comment: Parent class for normalization methods to scale data to a standard range
subclass of: EnumerationKind-DataProcessing

Water Process
type: NodeShape
type: Class
definition: A process applied to water treatment.
property:
  datatype: string
  description: A human-readable label for the process type.
  max count: 1
  min count: 1
  path: label
property:
  datatype: string
  description: A human-readable definition of the process type.
  max count: 1
  min count: 1
  path: definition

BiosolidsDisposal
type: Class
subclass of: Physical Process
definition: Generic process for unspecified disposal of biosolids (e.g., incineration, land application, landfilling, etc.).

Chemical Addition
type: Class
subclass of: Chemical Process
definition: Addition of chemicals, such as coagulant, polymer, disinfectant, etc.

Cleaning
type: Class
subclass of: Physical Process
definition: A maintenance-oriented process that removes accumulated solids, foulants, or residual materials from water treatment equipment.

Combustion
type: Class
subclass of: Chemical Process
subclass of: Physical Process
definition: A process that combusts biosolids or biogas.

Crystallization
type: Class
subclass of: Solidification
definition: A process of forming solid crystals from a solution.

Digestion
type: Class
subclass of: Biological Process
definition: A biological process that breaks down organic matter over a long duration in a tank.

Electrodialysis
type: Class
subclass of: Chemical Process
subclass of: Physical Process
definition: A process that uses ion-exchange membranes and an electric potential to separate ions from water.

Media Filtration
type: Class
subclass of: Filtration
definition: A filtration process that uses a bed of media (as opposed to a membrane-based process).

Mixing
type: Class
subclass of: Physical Process
definition: A unit process that mixes water with chemicals or other substances to achieve a desired effect.

Oxidation
type: Class
subclass of: Chemical Process
definition: A unit process that adds oxidizing agents to water to remove contaminants or improve water quality.

Sedimentation
type: Class
subclass of: Separation
definition: A unit process that allows solids to settle out of water by gravity.

Accuracy Metrics
type: NodeShape
type: Class
comment: Combined accuracy measures (precision and trueness)
subclass of: EnumerationKind-DataProcessing

Precision Metrics
type: NodeShape
type: Class
comment: Metrics for precision and repeatability measurements
subclass of: EnumerationKind-DataProcessing

Synchronization
type: NodeShape
type: Class
comment: Parent class for synchronization methods to align data from multiple sources to common time intervals
subclass of: EnumerationKind-DataProcessing

Denitrification
type: Class
subclass of: Biological Process
definition: Process by which nitrate is deoxidized to nitrogen gas and nitrogen oxides.

Nitrification
type: Class
subclass of: Biological Process
definition: Process by which ammonia is oxidized to nitrite and subsequently nitrate.

Reverse Osmosis (RO)
type: Class
subclass of: Membrane Process
definition: A core membrane separation process for desalination and advanced purification.

Thickener
type: NodeShape
type: Class
comment: A device used to increase the solids concentration of a slurry
subclass of: Equipment
subclass of: Unit Process
property:
  has value: Thickening
  max count: 1
  message: Instances of Thickener must have the Thickening process.
  min count: 1
  path: has process

Biofiltration
type: Class
subclass of: Biological Process
subclass of: Filtration
definition: A filtration method that uses biological processes to remove contaminants.

Biological Process
type: Class
subclass of: Water Process
definition: A unit process that utilizes biological activity for water treatment.

Disinfection
type: Class
subclass of: Chemical Process
definition: A unit process that uses chemicals or other methods to kill or inactivate harmful microorganisms in water.

Interpolation
type: NodeShape
type: Class
comment: Parent class for interpolation methods to estimate values between known data points
subclass of: EnumerationKind-DataProcessing

Activated Sludge
type: Class
subclass of: Biological Process
subclass of: Separation
definition: Aerobic suspended-growth biological treatment

Error Metrics
type: NodeShape
type: Class
comment: Parent class for error and uncertainty measurements
subclass of: EnumerationKind-DataProcessing

Separation
type: Class
subclass of: Physical Process
definition: The most generic process for separation of any two constituents.

Wastewater Treatment Chemical
type: NodeShape
type: Class
comment: Base class for all chemicals used in wastewater treatment
subclass of: Medium-Constituent

Sensor
property:
  comment: The `hasMeasurementRange` relation is used to link to a numerical `Property` whose value indicates the maximum or minimum that can physically be measured, e.g. by a sensor.
  class: QuantifiableProperty
  path: has measurement range

Aggregate
type: NodeShape
type: Class
comment: Parent class for aggregation functions that combine multiple data points
subclass of: EnumerationKind-DataProcessing

Filtration
type: Class
subclass of: Separation
definition: A unit process that removes smaller particles from water by passing it through a filter.

Aggregation
type: NodeShape
type: Class
comment: EnumerationKind for aggregation semantics carried by a property, such as total, mean, maximum, or minimum.
subclass of: EnumerationKind-Aspect

Filter
type: NodeShape
type: Class
comment: An equipment used to remove impurities from liquids or gases
subclass of: Filter
subclass of: Unit Process
property:
  message: Instances of Filter must have the Filtration process.
  path: has process
  qualified max count: 1
  qualified min count: 1
  qualified value shape:
    class: Filtration
  qualified value shapes disjoint: true

Chemical Process
type: Class
subclass of: Water Process
definition: A unit process that involves the addition of chemicals to water to achieve a desired effect.

Reactor
type: NodeShape
type: Class
comment: A tank used for reaction or biological/chemical treatment processes
subclass of: Tank
subclass of: Unit Process
property:
  comment: A reactor may have recirculation or return connection points
  path: hasConnectionPoint
  qualified min count: 0
  qualified value shape:
    class: OutletConnectionPoint
    property:
      in: Role-Recirculating
      in: Role-Return
      path: hasRole
    property:
      class: Mix-Fluid
      path: hasMedium

QuantifiableProperty
property:
  comment: The `hasTemporalResolution` relation is used to link to a numerical `Property` whose value indicates the minimum time interval between successive measurements or data points.
  class: QuantifiableProperty
  path: has temporal resolution
property:
  comment: The `hasNumericResolution` relation is used to link to a numerical `Property` whose value indicates the smallest distinguishable difference between two measured values in engineering units.
  class: QuantifiableProperty
  path: has numeric resolution
property:
  comment: The `hasCalibrationCurve` relation is used to link to a `Property` that describes the mathematical relationship or lookup table between raw sensor output and calibrated engineering units.
  class: QuantifiableProperty
  path: has calibration curve
property:
  comment: The `hasMeasurementRange` relation is used to link to a numerical `Property` whose value indicates the maximum or minimum that can physically be measured, e.g. by a sensor.
  class: QuantifiableProperty
  path: has measurement range
property:
  comment: The `hasNumericRange` relation is used to link to a numerical `Property` whose value indicates the span between the minimum and maximum measured values.
  class: QuantifiableProperty
  path: has numeric range
property:
  comment: The `hasAccuracy` relation is used to link to a numerical `Property` whose value indicates the maximum expected deviation between the measured value and the true value in engineering units.
  class: QuantifiableProperty
  path: has accuracy
property:
  comment: If present, `hasAggregation` associates a quantifiable property with one aggregation semantics such as total, mean, maximum, or minimum.
  class: Aggregation
  max count: 1
  path: has aggregation
property:
  comment: The `hasBias` relation is used to link to a numerical `Property` whose value indicates the systematic offset or drift in measurements relative to the true value.
  class: QuantifiableProperty
  path: has bias
property:
  comment: The `hasProcessedData` relation is used to link to a `Property` that describes any data processing, filtering, or transformation applied to the raw measurement values.
  class: QuantifiableProperty
  path: has processed data
property:
  comment: The `hasTemporalRange` relation is used to link to a numerical `Property` whose value indicates the start and end times for which data has been recorded.
  class: QuantifiableProperty
  path: has temporal range
property:
  comment: The `hasDropRate` relation is used to link to a `Property` describes the amount of data points lost within a range of time due to latencies or other factors.
  class: QuantifiableProperty
  path: has drop rate
property:
  comment: The `hasResponseTime` relation is used to link to a numerical `Property` whose value indicates the time required for the sensor or measurement system to respond to a step change in the measured variable.
  class: QuantifiableProperty
  path: has response time
property:
  comment: The `hasPrecision` relation is used to link to a numerical `Property` whose value indicates the repeatability or reproducibility of measurements under identical conditions.
  class: QuantifiableProperty
  path: has precision
property:
  comment: The `hasVariableRange` relation is used to link to a numerical `Property` whose value indicates the maximum or minimum for the measured variable during normal operation.
  class: QuantifiableProperty
  path: has variable range

Physical Process
type: Class
subclass of: Water Process
definition: A unit process that relies on physical forces to separate or treat water.

has process
type: Property
comment: This property is used to associate a water treatment process with a piece of equipment.