@prefix chem: <https://ontology.siletto.it/chem-pipeline#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# =============================================================
# Pipeline populating: relazioni strutturali tra UnitOperation,
# substances, equipment, energia. Esempi di riferimento.
# Le entità sono già dichiarate in chem-vocabulary.ttl; qui aggiungiamo
# solo le triple di connessione del grafo di processo.
# =============================================================

# ---------- Bauxite → Alluminio (Bayer + Hall-Héroult) ----------

chem:bauxiteToAluminiumPipeline
    chem:contains chem:bayerProcess, chem:hallHeroultProcess .

chem:bayerProcess
    chem:belongsTo chem:bauxiteToAluminiumPipeline ;
    chem:consumes chem:bauxite, chem:sodiumHydroxide, chem:water ;
    chem:produces chem:aluminiumOxide ;
    chem:producesWaste chem:redMud ;
    chem:feedsInto chem:hallHeroultProcess ;
    chem:requiresEquipment chem:autoclave ;
    chem:operatesAt chem:bayerDigestionConditions ;
    chem:requiresEnergy chem:bayerThermalInput ;
    chem:typicalYield 0.95 ;
    chem:co2Equivalent 1.2 .

chem:hallHeroultProcess
    chem:belongsTo chem:bauxiteToAluminiumPipeline ;
    chem:consumes chem:aluminiumOxide ;
    chem:produces chem:aluminium ;
    chem:usesCatalyst chem:cryolite ;
    chem:requiresEquipment chem:electrolyticCell ;
    chem:operatesAt chem:hallHeroultConditions ;
    chem:requiresEnergy chem:hallHeroultElectricalInput ;
    chem:typicalYield 0.92 ;
    chem:co2Equivalent 11.5 .

chem:bayerDigestionConditions a owl:NamedIndividual, chem:OperatingCondition ;
    rdfs:label "Bayer digestion conditions"@en, "condizioni digestione Bayer"@it ;
    chem:temperatureMin 423.15 ; chem:temperatureMax 543.15 ;
    chem:pressureMin 600000 ; chem:pressureMax 4000000 ;
    chem:atmosphere "inerte" .

chem:bayerThermalInput a owl:NamedIndividual, chem:EnergyInput ;
    rdfs:label "Bayer thermal input"@en, "input termico Bayer"@it ;
    chem:energyForm "termica" ;
    chem:specificEnergy 1.8 .

chem:hallHeroultConditions a owl:NamedIndividual, chem:OperatingCondition ;
    rdfs:label "Hall-Héroult conditions"@en, "condizioni Hall-Héroult"@it ;
    chem:temperatureMin 1213.15 ; chem:temperatureMax 1233.15 ;
    chem:pressureMin 101325 ; chem:pressureMax 101325 ;
    chem:atmosphere "ossidante" .

chem:hallHeroultElectricalInput a owl:NamedIndividual, chem:EnergyInput ;
    rdfs:label "Hall-Héroult electrical input"@en, "input elettrico Hall-Héroult"@it ;
    chem:energyForm "elettrica" ;
    chem:specificEnergy 13.0 .


# ---------- Acido solforico (contact process) ----------

chem:sulfuricAcidFromSulfurPipeline
    chem:contains chem:sulfurBurning, chem:so2CatalyticConversion, chem:so3Absorption .

chem:sulfurBurning
    chem:belongsTo chem:sulfuricAcidFromSulfurPipeline ;
    chem:consumes chem:sulfur, chem:oxygen ;
    chem:produces chem:sulfurDioxide ;
    chem:feedsInto chem:so2CatalyticConversion ;
    chem:operatesAt chem:sulfurBurnerConditions ;
    chem:requiresEnergy chem:sulfurBurningExothermic ;
    chem:typicalYield 0.99 .

chem:so2CatalyticConversion
    chem:belongsTo chem:sulfuricAcidFromSulfurPipeline ;
    chem:consumes chem:sulfurDioxide, chem:oxygen ;
    chem:produces chem:sulfurTrioxide ;
    chem:usesCatalyst chem:vanadiumPentoxide ;
    chem:feedsInto chem:so3Absorption ;
    chem:operatesAt chem:contactProcessConditions ;
    chem:typicalYield 0.98 .

chem:so3Absorption
    chem:belongsTo chem:sulfuricAcidFromSulfurPipeline ;
    chem:consumes chem:sulfurTrioxide, chem:sulfuricAcid ;
    chem:produces chem:sulfuricAcid ;
    chem:operatesAt chem:so3AbsorptionConditions ;
    chem:typicalYield 0.998 ;
    chem:co2Equivalent 0.05 .

chem:sulfurBurnerConditions a owl:NamedIndividual, chem:OperatingCondition ;
    rdfs:label "Sulfur burner conditions"@en, "condizioni bruciatore zolfo"@it ;
    chem:temperatureMin 1273.15 ; chem:temperatureMax 1473.15 ;
    chem:pressureMin 101325 ; chem:pressureMax 250000 ;
    chem:atmosphere "ossidante" .

chem:sulfurBurningExothermic a owl:NamedIndividual, chem:EnergyInput ;
    rdfs:label "exothermic heat (sulfur combustion)"@en,
              "calore esotermico (combustione zolfo)"@it ;
    rdfs:comment "Reazione esotermica, energia recuperata come vapore."@it ;
    chem:energyForm "chimica" ;
    chem:specificEnergy -3.0 .

chem:contactProcessConditions a owl:NamedIndividual, chem:OperatingCondition ;
    rdfs:label "Contact process conditions"@en, "condizioni processo contact"@it ;
    chem:temperatureMin 673.15 ; chem:temperatureMax 893.15 ;
    chem:pressureMin 101325 ; chem:pressureMax 200000 ;
    chem:atmosphere "ossidante" .

chem:so3AbsorptionConditions a owl:NamedIndividual, chem:OperatingCondition ;
    rdfs:label "SO3 absorption conditions"@en, "condizioni assorbimento SO3"@it ;
    chem:temperatureMin 343.15 ; chem:temperatureMax 393.15 ;
    chem:pressureMin 101325 ; chem:pressureMax 101325 .


# ---------- Vetro float Pilkington ----------

chem:pilkingtonFloatGlassPipeline
    chem:contains chem:floatGlass, chem:tinFloatBath, chem:annealingLehr, chem:cuttingAndPacking .

chem:floatGlass
    chem:belongsTo chem:pilkingtonFloatGlassPipeline ;
    chem:consumes chem:silica, chem:sodiumBicarbonate, chem:cullet ;
    chem:produces chem:moltenGlass ;
    chem:feedsInto chem:tinFloatBath ;
    chem:operatesAt chem:glassMeltingConditions ;
    chem:requiresEnergy chem:glassMeltingThermalInput ;
    chem:co2Equivalent 0.85 .

chem:tinFloatBath
    chem:belongsTo chem:pilkingtonFloatGlassPipeline ;
    chem:consumes chem:moltenGlass, chem:moltenTin ;
    chem:produces chem:floatGlassRibbon ;
    chem:feedsInto chem:annealingLehr ;
    chem:requiresEquipment chem:tinBathApparatus ;
    chem:operatesAt chem:floatBathConditions ;
    chem:recycles chem:moltenTin .

chem:annealingLehr
    chem:belongsTo chem:pilkingtonFloatGlassPipeline ;
    chem:consumes chem:floatGlassRibbon ;
    chem:produces chem:annealedGlass ;
    chem:feedsInto chem:cuttingAndPacking ;
    chem:requiresEquipment chem:annealingLehrApparatus ;
    chem:operatesAt chem:annealingConditions .

chem:cuttingAndPacking
    chem:belongsTo chem:pilkingtonFloatGlassPipeline ;
    chem:consumes chem:annealedGlass ;
    chem:produces chem:flatGlassSheet .

chem:glassMeltingConditions a owl:NamedIndividual, chem:OperatingCondition ;
    rdfs:label "glass melting conditions"@en, "condizioni fusione vetro"@it ;
    chem:temperatureMin 1773.15 ; chem:temperatureMax 1873.15 ;
    chem:atmosphere "ossidante" .

chem:glassMeltingThermalInput a owl:NamedIndividual, chem:EnergyInput ;
    rdfs:label "glass melting thermal input"@en, "input termico fusione vetro"@it ;
    chem:energyForm "termica" ;
    chem:specificEnergy 5.5 .

chem:floatBathConditions a owl:NamedIndividual, chem:OperatingCondition ;
    rdfs:label "float bath conditions"@en, "condizioni bagno float"@it ;
    chem:temperatureMin 873.15 ; chem:temperatureMax 1373.15 ;
    chem:atmosphere "riducente" ;
    rdfs:comment "Atmosfera N2/H2 per prevenire ossidazione dello stagno fuso."@it .

chem:annealingConditions a owl:NamedIndividual, chem:OperatingCondition ;
    rdfs:label "annealing conditions"@en, "condizioni ricottura"@it ;
    chem:temperatureMin 773.15 ; chem:temperatureMax 1093.15 .

chem:floatGlassRibbon a owl:NamedIndividual, chem:Intermediate ;
    rdfs:label "float glass ribbon"@en, "nastro vetro float"@it ;
    rdfs:comment "Nastro di vetro flottato sullo stagno fuso, prima della ricottura."@it ;
    chem:physicalState "solid" .

chem:annealedGlass a owl:NamedIndividual, chem:Intermediate ;
    rdfs:label "annealed glass"@en, "vetro ricotto"@it ;
    chem:physicalState "solid" .

chem:flatGlassSheet a owl:NamedIndividual, chem:FinalProduct ;
    rdfs:label "flat glass sheet"@en, "lastra vetro piano"@it ;
    chem:physicalState "solid" .
