@prefix : <https://w3id.org/battery-data-alliance/ontology/battery-data-format#> .
@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix electrochemistry: <https://w3id.org/emmo/domain/electrochemistry#> .
@prefix emmo: <https://w3id.org/emmo#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

dcterms:bibliographicCitation a owl:AnnotationProperty .

dcterms:created a owl:AnnotationProperty .

dcterms:isReplacedBy a owl:AnnotationProperty .

dcterms:issued a owl:AnnotationProperty .

dcterms:modified a owl:AnnotationProperty .

dcterms:replaces a owl:AnnotationProperty .

bibo:doi a owl:AnnotationProperty .

bibo:status a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

qudt:hasQuantityKind a owl:AnnotationProperty .

skos:definition a owl:AnnotationProperty .

skos:exactMatch a owl:AnnotationProperty .

skos:historyNote a owl:AnnotationProperty .

skos:notation a owl:AnnotationProperty .

skos:scopeNote a owl:AnnotationProperty .

prov:wasDerivedFrom a owl:AnnotationProperty .

prov:wasRevisionOf a owl:AnnotationProperty .

schema:description a owl:AnnotationProperty .

schema:measurementTechnique a owl:AnnotationProperty .

schema:unitCode a owl:AnnotationProperty .

schema:unitText a owl:AnnotationProperty .

<https://w3id.org/battery-data-alliance/ontology/battery-data-format> a owl:Ontology ;
    dcterms:abstract "An application ontology for the Battery Data Format (BDF) from the Battery Data Alliance (BDA)" ;
    dcterms:created "2025-01-23"^^xsd:date ;
    dcterms:creator <https://orcid.org/0000-0002-8758-6109> ;
    dcterms:issued "2026-05-14"^^xsd:date ;
    dcterms:license <http://www.apache.org/licenses/LICENSE-2.0> ;
    dcterms:modified "2026-07-19"^^xsd:date ;
    dcterms:publisher <https://github.com/battery-data-alliance> ;
    dcterms:title "Battery Data Format Ontology"@en ;
    bibo:status "stable" ;
    vann:preferredNamespacePrefix "bdf" ;
    vann:preferredNamespaceUri "https://w3id.org/battery-data-alliance/ontology/battery-data-format#" ;
    owl:imports <https://w3id.org/emmo/domain/battery/0.18.6/battery> ;
    owl:priorVersion <https://w3id.org/battery-data-alliance/ontology/battery-data-format/1.2.0/battery-data-format> ;
    owl:versionIRI <https://w3id.org/battery-data-alliance/ontology/battery-data-format/1.3.0/battery-data-format> ;
    owl:versionInfo "1.3.0" .

:absolute_impedance_ohm a owl:Class ;
    rdfs:label "Absolute Impedance / ohm"@en ;
    qudt:hasQuantityKind quantitykind:Impedance ;
    rdfs:comment "The magnitude of the complex impedance, in ohm."@en ;
    rdfs:seeAlso unit:OHM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Ohm ],
        sosa:ObservableProperty,
        emmo:EMMO_79a02de5_b884_4eab_bc18_f67997d597a2 ;
    skos:altLabel "absolute_impedance_ohm"@en ;
    skos:definition "The magnitude of the complex impedance, in ohm."@en ;
    skos:notation "absolute_impedance_ohm"@en ;
    skos:prefLabel "Absolute Impedance / ohm"@en ;
    prov:wasDerivedFrom :imaginary_impedance_ohm,
        :real_impedance_ohm ;
    schema:description "The magnitude of the complex impedance, in ohm."@en ;
    schema:name "Absolute Impedance / ohm"@en ;
    schema:unitCode "Ohm" ;
    schema:unitText "ohm"@en ;
    :latexFormula "|Z| = \\sqrt{Z_\\mathrm{re}^2 + Z_\\mathrm{im}^2}"^^xsd:string ;
    :latexSymbol "|Z|"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "The magnitude of the complex impedance, in ohm."@en .

:ac_internal_resistance_ohm a owl:Class ;
    rdfs:label "AC Internal Resistance / ohm"@en ;
    qudt:hasQuantityKind quantitykind:Resistance ;
    rdfs:comment "Alternating current internal resistance of the test object, in ohm: the magnitude of the impedance at a fixed excitation frequency, conventionally 1 kHz unless otherwise stated. Equivalent to the ACR quantity reported by some instruments (e.g. Arbin ACR). The excitation frequency should be recorded in accompanying metadata."@en ;
    rdfs:seeAlso unit:OHM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Ohm ],
        sosa:ObservableProperty,
        :internal_resistance_ohm ;
    skos:altLabel "ac_internal_resistance_ohm"@en,
        "ac_resistance_ohm"@en,
        "acr"@en ;
    skos:definition "Alternating current internal resistance of the test object, in ohm: the magnitude of the impedance at a fixed excitation frequency, conventionally 1 kHz unless otherwise stated. Equivalent to the ACR quantity reported by some instruments (e.g. Arbin ACR). The excitation frequency should be recorded in accompanying metadata."@en ;
    skos:notation "ac_internal_resistance_ohm" ;
    skos:prefLabel "AC Internal Resistance / ohm"@en ;
    schema:description "AC internal resistance: impedance magnitude at a fixed excitation frequency, conventionally 1 kHz. Equivalent to instrument ACR outputs."@en ;
    schema:name "AC Internal Resistance / ohm"@en ;
    schema:unitCode "Ohm" ;
    schema:unitText "ohm"@en ;
    :latexSymbol "R_\\mathrm{AC}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Alternating current internal resistance of the test object, in ohm: the magnitude of the impedance at a fixed excitation frequency, conventionally 1 kHz unless otherwise stated. Equivalent to the ACR quantity reported by some instruments (e.g. Arbin ACR). The excitation frequency should be recorded in accompanying metadata."@en .

:ambient_pressure_pa a owl:Class ;
    rdfs:label "Ambient Pressure / Pa"@en ;
    qudt:hasQuantityKind quantitykind:Pressure ;
    rdfs:comment "Ambient air pressure recorded during testing, in pascal."@en ;
    rdfs:seeAlso unit:PA ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Pascal ],
        sosa:ObservableProperty,
        emmo:EMMO_50a44256_9dc5_434b_bad4_74a4d9a29989 ;
    skos:altLabel "ambient_pressure_pa"@en,
        "ambient_pressure_pascal"@en ;
    skos:definition "Ambient air pressure recorded during testing, in pascal."@en ;
    skos:notation "ambient_pressure_pa" ;
    skos:prefLabel "Ambient Pressure / Pa"@en ;
    schema:description "Ambient air pressure recorded during testing, in pascal."@en ;
    schema:name "Ambient Pressure / Pa"@en ;
    schema:unitCode "Pa" ;
    schema:unitText "pascal"@en ;
    :latexSymbol "p_\\mathrm{amb}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Ambient air pressure recorded during testing, in pascal."@en .

:ambient_temperature_celsius a owl:Class ;
    rdfs:label "Ambient Temperature / degC"@en ;
    qudt:hasQuantityKind quantitykind:Temperature ;
    rdfs:comment "Ambient temperature recorded during testing, in degree Celsius."@en ;
    rdfs:seeAlso unit:DEG_C ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:DegreeCelsius ],
        sosa:ObservableProperty,
        emmo:EMMO_66bc9029_f473_45ff_bab9_c3509ff37a22 ;
    skos:altLabel "ambient_temperature_celsius"@en,
        "ambient_temperature_degc"@en ;
    skos:definition "Ambient temperature recorded during testing, in degree Celsius."@en ;
    skos:notation "ambient_temperature_celsius" ;
    skos:prefLabel "Ambient Temperature / degC"@en ;
    schema:description "Ambient temperature recorded during testing, in degree Celsius."@en ;
    schema:name "Ambient Temperature / degC"@en ;
    schema:unitCode "Cel" ;
    schema:unitText "degree Celsius"@en ;
    :latexSymbol "T_\\mathrm{amb}"^^xsd:string ;
    :obligation "recommended" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Ambient temperature recorded during testing, in degree Celsius."@en .

:applied_pressure_pa a owl:Class ;
    rdfs:label "Applied Pressure / Pa"@en ;
    qudt:hasQuantityKind quantitykind:Pressure ;
    rdfs:comment "External pressure actively applied to the test object and controlled by an external agent (e.g. a fixture, clamp, or press), in pascal. Distinguished from surface_pressure_pa, which is the pressure measured at the surface of the test object regardless of its source."@en ;
    rdfs:seeAlso unit:PA ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Pascal ],
        sosa:ObservableProperty,
        emmo:EMMO_50a44256_9dc5_434b_bad4_74a4d9a29989 ;
    skos:altLabel "applied_pressure_pa"@en,
        "applied_pressure_pascal"@en ;
    skos:definition "External pressure actively applied to the test object and controlled by an external agent (e.g. a fixture, clamp, or press), in pascal. Distinguished from surface_pressure_pa, which is the pressure measured at the surface of the test object regardless of its source."@en ;
    skos:notation "applied_pressure_pa" ;
    skos:prefLabel "Applied Pressure / Pa"@en ;
    schema:description "External pressure actively applied to the test object and controlled by an external agent (e.g. a fixture, clamp, or press), in pascal. Distinguished from surface_pressure_pa, which is the pressure measured at the surface of the test object regardless of its source."@en ;
    schema:name "Applied Pressure / Pa"@en ;
    schema:unitCode "Pa" ;
    schema:unitText "pascal"@en ;
    :latexSymbol "p_\\mathrm{app}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "External pressure actively applied to the test object and controlled by an external agent (e.g. a fixture, clamp, or press), in pascal. Distinguished from surface_pressure_pa, which is the pressure measured at the surface of the test object regardless of its source."@en .

:cumulative_capacity_ah a owl:Class ;
    rdfs:label "Cumulative Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Total Ah throughput since the start of the test, in ampere hour. Defined as charging_capacity_ah + discharging_capacity_ah; always monotonically non-decreasing. Counts charge flow in both directions and is therefore independent of the net state of charge."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_df9e9d49_12fa_4794_b482_e0dcd2a7bb66 ;
    skos:altLabel "cumulative_capacity_ah"@en,
        "cumulative_capacity_ampere_hour"@en ;
    skos:definition "Total Ah throughput since the start of the test, in ampere hour. Defined as charging_capacity_ah + discharging_capacity_ah; always monotonically non-decreasing. Counts charge flow in both directions and is therefore independent of the net state of charge."@en ;
    skos:notation "cumulative_capacity_ah" ;
    skos:prefLabel "Cumulative Capacity / Ah"@en ;
    skos:scopeNote "Suitable for throughput-based degradation models."@en ;
    prov:wasDerivedFrom :current_ampere,
        :test_time_second ;
    schema:description "Total Ah throughput since test start: charging_capacity_ah + discharging_capacity_ah. Always monotonically non-decreasing."@en ;
    schema:measurementTechnique "Running integral of the absolute value of current from test start (charge throughput). Always non-decreasing."@en ;
    schema:name "Cumulative Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{cum}(t) = Q_\\mathrm{chg}(t) + Q_\\mathrm{dchg}(t) = \\frac{1}{3600}\\int_0^t \\bigl|I(\\tau)\\bigr|\\,\\mathrm{d}\\tau"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{cum}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Total Ah throughput since the start of the test, in ampere hour. Defined as charging_capacity_ah + discharging_capacity_ah; always monotonically non-decreasing. Counts charge flow in both directions and is therefore independent of the net state of charge."@en .

:cumulative_energy_wh a owl:Class ;
    rdfs:label "Cumulative Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Total Wh throughput since the start of the test, in watt hour. Defined as charging_energy_wh + discharging_energy_wh; always monotonically non-decreasing."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_0f986d97_445f_4075_a5ce_ddde598a47a9 ;
    skos:altLabel "cumulative_energy_watt_hour"@en,
        "cumulative_energy_wh"@en ;
    skos:definition "Total Wh throughput since the start of the test, in watt hour. Defined as charging_energy_wh + discharging_energy_wh; always monotonically non-decreasing."@en ;
    skos:notation "cumulative_energy_wh" ;
    skos:prefLabel "Cumulative Energy / Wh"@en ;
    prov:wasDerivedFrom :power_watt,
        :test_time_second ;
    schema:description "Total Wh throughput since test start: charging_energy_wh + discharging_energy_wh. Always monotonically non-decreasing."@en ;
    schema:measurementTechnique "Running integral of the absolute value of power from test start (energy throughput). Always non-decreasing."@en ;
    schema:name "Cumulative Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{cum}(t) = E_\\mathrm{chg}(t) + E_\\mathrm{dchg}(t) = \\frac{1}{3600}\\int_0^t P(\\tau)\\,\\operatorname{sgn} I(\\tau)\\,\\mathrm{d}\\tau"^^xsd:string ;
    :latexSymbol "E_\\mathrm{cum}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Total Wh throughput since the start of the test, in watt hour. Defined as charging_energy_wh + discharging_energy_wh; always monotonically non-decreasing."@en .

:cycle_cumulative_capacity_ah a owl:Class ;
    rdfs:label "Cycle Cumulative Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Running accumulation of charge throughput within the current cycle, in ampere hour: the time integral of the absolute current from the start of the current cycle, monotonically non-decreasing within the cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Defined as cycle_charging_capacity_ah + cycle_discharging_capacity_ah."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_ae108db7_8765_4329_9908_059277dee586 ;
    skos:altLabel "cycle_cumulative_capacity_ah"@en,
        "cycle_cumulative_capacity_ampere_hour"@en ;
    skos:definition "Running accumulation of charge throughput within the current cycle, in ampere hour: the time integral of the absolute current from the start of the current cycle, monotonically non-decreasing within the cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Defined as cycle_charging_capacity_ah + cycle_discharging_capacity_ah."@en ;
    skos:notation "cycle_cumulative_capacity_ah" ;
    skos:prefLabel "Cycle Cumulative Capacity / Ah"@en ;
    prov:wasDerivedFrom :current_ampere,
        :cycle_count ;
    schema:description "Running accumulation of charge throughput within the current cycle, in ampere hour. Monotonically non-decreasing within the cycle; resets to zero when cycle_count increments."@en ;
    schema:measurementTechnique "Time integral of the absolute value of current from the start of the current cycle."@en ;
    schema:name "Cycle Cumulative Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{cum}^\\mathrm{cyc}(t) = Q_\\mathrm{chg}^\\mathrm{cyc}(t) + Q_\\mathrm{dchg}^\\mathrm{cyc}(t) = \\frac{1}{3600}\\int_{t_c}^{t} \\bigl|I(\\tau)\\bigr|\\,\\mathrm{d}\\tau,\\quad t_c = \\text{start of the current cycle}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{cum}^\\mathrm{cyc}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Running accumulation of charge throughput within the current cycle, in ampere hour: the time integral of the absolute current from the start of the current cycle, monotonically non-decreasing within the cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Defined as cycle_charging_capacity_ah + cycle_discharging_capacity_ah."@en .

:cycle_cumulative_energy_wh a owl:Class ;
    rdfs:label "Cycle Cumulative Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Running accumulation of energy throughput within the current cycle, in watt hour: the time integral of the current-signed instantaneous power (P times the sign of I) from the start of the current cycle, monotonically non-decreasing within the cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Defined as cycle_charging_energy_wh + cycle_discharging_energy_wh."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_46376e5d_9627_4514_9881_9e62083625c3 ;
    skos:altLabel "cycle_cumulative_energy_watt_hour"@en,
        "cycle_cumulative_energy_wh"@en ;
    skos:definition "Running accumulation of energy throughput within the current cycle, in watt hour: the time integral of the current-signed instantaneous power (P times the sign of I) from the start of the current cycle, monotonically non-decreasing within the cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Defined as cycle_charging_energy_wh + cycle_discharging_energy_wh."@en ;
    skos:notation "cycle_cumulative_energy_wh" ;
    skos:prefLabel "Cycle Cumulative Energy / Wh"@en ;
    prov:wasDerivedFrom :cycle_count,
        :power_watt ;
    schema:description "Running accumulation of energy throughput within the current cycle, in watt hour. Monotonically non-decreasing within the cycle; resets to zero when cycle_count increments."@en ;
    schema:measurementTechnique "Time integral of the current-signed instantaneous power from the start of the current cycle."@en ;
    schema:name "Cycle Cumulative Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{cum}^\\mathrm{cyc}(t) = E_\\mathrm{chg}^\\mathrm{cyc}(t) + E_\\mathrm{dchg}^\\mathrm{cyc}(t) = \\frac{1}{3600}\\int_{t_c}^{t} P(\\tau)\\,\\operatorname{sgn} I(\\tau)\\,\\mathrm{d}\\tau,\\quad t_c = \\text{start of the current cycle}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{cum}^\\mathrm{cyc}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Running accumulation of energy throughput within the current cycle, in watt hour: the time integral of the current-signed instantaneous power (P times the sign of I) from the start of the current cycle, monotonically non-decreasing within the cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Defined as cycle_charging_energy_wh + cycle_discharging_energy_wh."@en .

:cycle_net_capacity_ah a owl:Class ;
    rdfs:label "Cycle Net Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Net charge transferred during the current cycle, in ampere hour. Defined as cycle_charging_capacity_ah minus cycle_discharging_capacity_ah; the running signed integral of current from the start of the current cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Can be negative if more charge is extracted than injected during the cycle. Its end-of-cycle value is the per-cycle coulombic slippage: the irreversible charge consumed by side reactions during that cycle."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_791c1915_a791_4450_acd8_7f94764743b5 ;
    skos:altLabel "cycle_net_capacity_ah"@en,
        "cycle_net_capacity_ampere_hour"@en ;
    skos:definition "Net charge transferred during the current cycle, in ampere hour. Defined as cycle_charging_capacity_ah minus cycle_discharging_capacity_ah; the running signed integral of current from the start of the current cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Can be negative if more charge is extracted than injected during the cycle. Its end-of-cycle value is the per-cycle coulombic slippage: the irreversible charge consumed by side reactions during that cycle."@en ;
    skos:notation "cycle_net_capacity_ah" ;
    skos:prefLabel "Cycle Net Capacity / Ah"@en ;
    prov:wasDerivedFrom :cycle_charging_capacity_ah,
        :cycle_discharging_capacity_ah ;
    schema:description "Running net capacity within the current cycle: cycle_charging_capacity_ah - cycle_discharging_capacity_ah. Can be negative; resets to zero when cycle_count increments."@en ;
    schema:measurementTechnique "Running signed integral of current from the start of the current cycle."@en ;
    schema:name "Cycle Net Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{net}^\\mathrm{cyc}(t) = Q_\\mathrm{chg}^\\mathrm{cyc}(t) - Q_\\mathrm{dchg}^\\mathrm{cyc}(t) = \\frac{1}{3600}\\int_{t_c}^{t} I(\\tau)\\,\\mathrm{d}\\tau,\\quad t_c = \\text{start of the current cycle}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{net}^\\mathrm{cyc}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Net charge transferred during the current cycle, in ampere hour. Defined as cycle_charging_capacity_ah minus cycle_discharging_capacity_ah; the running signed integral of current from the start of the current cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Can be negative if more charge is extracted than injected during the cycle. Its end-of-cycle value is the per-cycle coulombic slippage: the irreversible charge consumed by side reactions during that cycle."@en .

:cycle_net_energy_wh a owl:Class ;
    rdfs:label "Cycle Net Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Net energy transferred during the current cycle, in watt hour. Defined as cycle_charging_energy_wh minus cycle_discharging_energy_wh; the running signed integral of instantaneous power from the start of the current cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Can be negative if more energy is extracted than delivered during the cycle. Its end-of-cycle value is the net energy absorbed over that cycle, reflecting voltage hysteresis and other losses."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_46376e5d_9627_4514_9881_9e62083625c3 ;
    skos:altLabel "cycle_net_energy_watt_hour"@en,
        "cycle_net_energy_wh"@en ;
    skos:definition "Net energy transferred during the current cycle, in watt hour. Defined as cycle_charging_energy_wh minus cycle_discharging_energy_wh; the running signed integral of instantaneous power from the start of the current cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Can be negative if more energy is extracted than delivered during the cycle. Its end-of-cycle value is the net energy absorbed over that cycle, reflecting voltage hysteresis and other losses."@en ;
    skos:notation "cycle_net_energy_wh" ;
    skos:prefLabel "Cycle Net Energy / Wh"@en ;
    prov:wasDerivedFrom :cycle_charging_energy_wh,
        :cycle_discharging_energy_wh ;
    schema:description "Running net energy within the current cycle: cycle_charging_energy_wh - cycle_discharging_energy_wh. Can be negative; resets to zero when cycle_count increments."@en ;
    schema:measurementTechnique "Running signed integral of instantaneous power from the start of the current cycle."@en ;
    schema:name "Cycle Net Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{net}^\\mathrm{cyc}(t) = E_\\mathrm{chg}^\\mathrm{cyc}(t) - E_\\mathrm{dchg}^\\mathrm{cyc}(t) = \\frac{1}{3600}\\int_{t_c}^{t} P(\\tau)\\,\\mathrm{d}\\tau,\\quad t_c = \\text{start of the current cycle}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{net}^\\mathrm{cyc}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Net energy transferred during the current cycle, in watt hour. Defined as cycle_charging_energy_wh minus cycle_discharging_energy_wh; the running signed integral of instantaneous power from the start of the current cycle; resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Can be negative if more energy is extracted than delivered during the cycle. Its end-of-cycle value is the net energy absorbed over that cycle, reflecting voltage hysteresis and other losses."@en .

:dc_internal_resistance_ohm a owl:Class ;
    rdfs:label "DC Internal Resistance / ohm"@en ;
    qudt:hasQuantityKind quantitykind:Resistance ;
    rdfs:comment "Direct current internal resistance of the test object, in ohm, determined from the voltage response to a current step (e.g. delta-V over delta-I across a current pulse). The method parameters (pulse magnitude and duration) are instrument-specific and not standardised; values obtained with different methods are not directly comparable."@en ;
    rdfs:seeAlso unit:OHM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Ohm ],
        sosa:ObservableProperty,
        :internal_resistance_ohm ;
    skos:altLabel "dc_internal_resistance_ohm"@en,
        "dc_resistance_ohm"@en,
        "dcir"@en ;
    skos:definition "Direct current internal resistance of the test object, in ohm, determined from the voltage response to a current step (e.g. delta-V over delta-I across a current pulse). The method parameters (pulse magnitude and duration) are instrument-specific and not standardised; values obtained with different methods are not directly comparable."@en ;
    skos:notation "dc_internal_resistance_ohm" ;
    skos:prefLabel "DC Internal Resistance / ohm"@en ;
    schema:description "DC internal resistance from the voltage response to a current step. Method parameters are instrument-specific; values from different methods are not directly comparable."@en ;
    schema:name "DC Internal Resistance / ohm"@en ;
    schema:unitCode "Ohm" ;
    schema:unitText "ohm"@en ;
    :latexSymbol "R_\\mathrm{DC}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Direct current internal resistance of the test object, in ohm, determined from the voltage response to a current step (e.g. delta-V over delta-I across a current pulse). The method parameters (pulse magnitude and duration) are instrument-specific and not standardised; values obtained with different methods are not directly comparable."@en .

:frequency_hertz a owl:Class ;
    rdfs:label "Frequency / Hz"@en ;
    qudt:hasQuantityKind quantitykind:Frequency ;
    rdfs:comment "The frequency of the applied periodic excitation or measured response, in hertz."@en ;
    rdfs:seeAlso unit:HZ ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Hertz ],
        sosa:ObservableProperty,
        emmo:EMMO_852b4ab8_fc29_4749_a8c7_b92d4fca7d5a ;
    skos:altLabel "frequency_hertz"@en ;
    skos:definition "The frequency of the applied periodic excitation or measured response, in hertz."@en ;
    skos:notation "frequency_hertz"@en ;
    skos:prefLabel "Frequency / Hz"@en ;
    schema:description "The frequency of the applied periodic excitation or measured response, in hertz."@en ;
    schema:name "Frequency / Hz"@en ;
    schema:unitCode "Hz" ;
    schema:unitText "hertz"@en ;
    :latexSymbol "f"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "The frequency of the applied periodic excitation or measured response, in hertz."@en .

:latexFormula a owl:AnnotationProperty ;
    rdfs:label "LaTeX formula"@en ;
    rdfs:comment "Mathematical definition of a derived quantity in LaTeX notation. Backslashes are single (standard LaTeX)."@en ;
    rdfs:range xsd:string .

:latexSymbol a owl:AnnotationProperty ;
    rdfs:label "LaTeX symbol"@en ;
    rdfs:comment "LaTeX notation for the variable name used to represent this quantity in mathematical expressions."@en ;
    rdfs:range xsd:string .

:net_capacity_ah a owl:Class ;
    rdfs:label "Net Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Running integral of signed current from the start of the test, in ampere hour. Defined as charging_capacity_ah minus discharging_capacity_ah; can be negative if more charge has been extracted than injected since test start. Equivalent to BioLogic Q-Q0. Increases during charge intervals and decreases during discharge intervals."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_791c1915_a791_4450_acd8_7f94764743b5 ;
    skos:altLabel "net_capacity_ah"@en,
        "net_capacity_ampere_hour"@en ;
    skos:definition "Running integral of signed current from the start of the test, in ampere hour. Defined as charging_capacity_ah minus discharging_capacity_ah; can be negative if more charge has been extracted than injected since test start. Equivalent to BioLogic Q-Q0. Increases during charge intervals and decreases during discharge intervals."@en ;
    skos:notation "net_capacity_ah" ;
    skos:prefLabel "Net Capacity / Ah"@en ;
    prov:wasDerivedFrom :charging_capacity_ah,
        :discharging_capacity_ah ;
    schema:description "Running net capacity from test start: charging_capacity_ah - discharging_capacity_ah. Can be negative. Equivalent to BioLogic Q-Q0."@en ;
    schema:measurementTechnique "Running signed integral of current from test start. Positive increments during charging, negative during discharging. Not reset at step or cycle boundaries. Equivalent to Q − Q₀ in charge-balance notation."@en ;
    schema:name "Net Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{net}(t) = Q_\\mathrm{chg}(t) - Q_\\mathrm{dchg}(t) = \\frac{1}{3600}\\int_0^t I(\\tau)\\,\\mathrm{d}\\tau"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{net}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Running integral of signed current from the start of the test, in ampere hour. Defined as charging_capacity_ah minus discharging_capacity_ah; can be negative if more charge has been extracted than injected since test start. Equivalent to BioLogic Q-Q0. Increases during charge intervals and decreases during discharge intervals."@en .

:net_energy_wh a owl:Class ;
    rdfs:label "Net Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Running net energy from the start of the test, in watt hour. Defined as charging_energy_wh minus discharging_energy_wh; can be negative if more energy has been extracted than delivered since test start. Increases during charge intervals and decreases during discharge intervals."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_46376e5d_9627_4514_9881_9e62083625c3 ;
    skos:altLabel "net_energy_watt_hour"@en,
        "net_energy_wh"@en ;
    skos:definition "Running net energy from the start of the test, in watt hour. Defined as charging_energy_wh minus discharging_energy_wh; can be negative if more energy has been extracted than delivered since test start. Increases during charge intervals and decreases during discharge intervals."@en ;
    skos:notation "net_energy_wh" ;
    skos:prefLabel "Net Energy / Wh"@en ;
    prov:wasDerivedFrom :charging_energy_wh,
        :discharging_energy_wh ;
    schema:description "Running net energy from test start: charging_energy_wh - discharging_energy_wh. Can be negative."@en ;
    schema:measurementTechnique "Running signed integral of power from test start. Not reset at step or cycle boundaries."@en ;
    schema:name "Net Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{net}(t) = E_\\mathrm{chg}(t) - E_\\mathrm{dchg}(t) = \\frac{1}{3600}\\int_0^t P(\\tau)\\,\\mathrm{d}\\tau"^^xsd:string ;
    :latexSymbol "E_\\mathrm{net}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Running net energy from the start of the test, in watt hour. Defined as charging_energy_wh minus discharging_energy_wh; can be negative if more energy has been extracted than delivered since test start. Increases during charge intervals and decreases during discharge intervals."@en .

:obligation a owl:AnnotationProperty ;
    rdfs:label "obligation"@en ;
    rdfs:comment "Conformance level of this term within the default BDF profile (required, recommended, or optional). Obligation is profile-scoped; this annotation expresses the default profile only."@en ;
    rdfs:range xsd:string .

:phase_degree a owl:Class ;
    rdfs:label "Phase / deg"@en ;
    qudt:hasQuantityKind quantitykind:Angle ;
    rdfs:comment "The phase angle of the complex impedance: the argument of the complex impedance, representing the phase shift between voltage and current, in degree."@en ;
    rdfs:seeAlso unit:DEG ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Degree ],
        sosa:ObservableProperty,
        emmo:EMMO_2a0e5777_348c_475b_adf0_1b1e71a29bc9 ;
    skos:altLabel "phase_degree"@en ;
    skos:definition "The phase angle of the complex impedance: the argument of the complex impedance, representing the phase shift between voltage and current, in degree."@en ;
    skos:notation "phase_degree"@en ;
    skos:prefLabel "Phase / deg"@en ;
    prov:wasDerivedFrom :imaginary_impedance_ohm,
        :real_impedance_ohm ;
    schema:description "The phase angle of the complex impedance, representing the phase shift between voltage and current, in degree."@en ;
    schema:name "Phase / deg"@en ;
    schema:unitCode "deg" ;
    schema:unitText "degree"@en ;
    :latexFormula "\\phi = \\operatorname{atan2}\\!\\left(Z_\\mathrm{im},\\,Z_\\mathrm{re}\\right) \\cdot \\frac{180}{\\pi}"^^xsd:string ;
    :latexSymbol "\\phi"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "The phase angle of the complex impedance: the argument of the complex impedance, representing the phase shift between voltage and current, in degree."@en .

:record_index a owl:Class ;
    rdfs:label "Record Index / 1"@en ;
    qudt:hasQuantityKind quantitykind:Count ;
    rdfs:comment "An ordinal, dimensionless integer used to order data records within a time-series dataset, incremented by one for each recorded record and carrying no physical or quantitative meaning."@en ;
    rdfs:seeAlso unit:NUM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:EMMO_5ebd5e01_0ed3_49a2_a30d_cd05cbe72978 ],
        sosa:ObservableProperty,
        emmo:EMMO_ba882f34_0d71_4e4f_9d92_0c076c633a2c ;
    skos:altLabel "record_index"@en ;
    skos:definition "An ordinal, dimensionless integer used to order data records within a time-series dataset, incremented by one for each recorded record and carrying no physical or quantitative meaning."@en ;
    skos:notation "record_index"@en ;
    skos:prefLabel "Record Index / 1"@en ;
    schema:description "An ordinal, dimensionless integer used to order data records within a time-series dataset, incremented by one for each recorded record and carrying no physical or quantitative meaning."@en ;
    schema:name "Record Index / 1"@en ;
    schema:unitCode "1" ;
    schema:unitText "one"@en ;
    :latexSymbol "i"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "An ordinal, dimensionless integer used to order data records within a time-series dataset, incremented by one for each recorded record and carrying no physical or quantitative meaning."@en .

:schedule_charging_capacity_ah a owl:Class ;
    rdfs:label "Schedule Charging Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Cumulative electric charge transferred into the test object during charging since the most recent schedule-defined assignment event, in ampere hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with charging_capacity_ah. Where computed, it is the time integral of the positive part of current since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Charge_Capacity), whose assignment behavior is operator-defined."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_10763eb0_dbc9_4d34_bd1a_7b8996590d45 ;
    skos:altLabel "schedule_charging_capacity_ah"@en,
        "schedule_charging_capacity_ampere_hour"@en ;
    skos:definition "Cumulative electric charge transferred into the test object during charging since the most recent schedule-defined assignment event, in ampere hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with charging_capacity_ah. Where computed, it is the time integral of the positive part of current since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Charge_Capacity), whose assignment behavior is operator-defined."@en ;
    skos:notation "schedule_charging_capacity_ah" ;
    skos:prefLabel "Schedule Charging Capacity / Ah"@en ;
    skos:scopeNote "Assignment points are protocol-defined, so values are not comparable across tests without the schedule; not suitable for cross-test aggregation. Use charging_capacity_ah for the test-scoped quantity."@en ;
    prov:wasDerivedFrom :current_ampere,
        :test_time_second ;
    schema:description "Cumulative electric charge transferred into the test object during charging since the most recent schedule-defined assignment event, in ampere hour. Changes discontinuously only at schedule-defined assignments (typically a reset to zero; any value may be assigned)."@en ;
    schema:measurementTechnique "Vendor accumulator integrated by the instrument between schedule-defined assignment events; equivalently, the time integral of the positive part of current since the most recent assignment."@en ;
    schema:name "Schedule Charging Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{chg}^\\mathrm{sched}(t) = Q_\\mathrm{chg}^\\mathrm{sched}(t_r) + \\frac{1}{3600}\\int_{t_r}^{t} \\max\\!\\bigl(I(\\tau),\\,0\\bigr)\\,\\mathrm{d}\\tau,\\quad t_r = \\text{most recent schedule-defined assignment}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{chg}^\\mathrm{sched}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Cumulative electric charge transferred into the test object during charging since the most recent schedule-defined assignment event, in ampere hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with charging_capacity_ah. Where computed, it is the time integral of the positive part of current since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Charge_Capacity), whose assignment behavior is operator-defined."@en .

:schedule_charging_energy_wh a owl:Class ;
    rdfs:label "Schedule Charging Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Cumulative electric energy transferred into the test object during charging since the most recent schedule-defined assignment event, in watt hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with charging_energy_wh. Where computed, it is the time integral of instantaneous power over the charge intervals (current > 0) since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Charge_Energy), whose assignment behavior is operator-defined."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_2ab7af60_da58_4243_b3bc_cbb2155cac53 ;
    skos:altLabel "schedule_charging_energy_watt_hour"@en,
        "schedule_charging_energy_wh"@en ;
    skos:definition "Cumulative electric energy transferred into the test object during charging since the most recent schedule-defined assignment event, in watt hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with charging_energy_wh. Where computed, it is the time integral of instantaneous power over the charge intervals (current > 0) since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Charge_Energy), whose assignment behavior is operator-defined."@en ;
    skos:notation "schedule_charging_energy_wh" ;
    skos:prefLabel "Schedule Charging Energy / Wh"@en ;
    skos:scopeNote "Assignment points are protocol-defined, so values are not comparable across tests without the schedule; not suitable for cross-test aggregation. Use charging_energy_wh for the test-scoped quantity."@en ;
    prov:wasDerivedFrom :current_ampere,
        :test_time_second ;
    schema:description "Cumulative electric energy transferred into the test object during charging since the most recent schedule-defined assignment event, in watt hour. Changes discontinuously only at schedule-defined assignments (typically a reset to zero; any value may be assigned)."@en ;
    schema:measurementTechnique "Vendor accumulator integrated by the instrument between schedule-defined assignment events; equivalently, the time integral of instantaneous power over the charge intervals (current > 0) since the most recent assignment."@en ;
    schema:name "Schedule Charging Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{chg}^\\mathrm{sched}(t) = E_\\mathrm{chg}^\\mathrm{sched}(t_r) + \\frac{1}{3600}\\int_{t_r}^{t} P(\\tau)\\,\\bigl[I(\\tau) > 0\\bigr]\\,\\mathrm{d}\\tau,\\quad t_r = \\text{most recent schedule-defined assignment}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{chg}^\\mathrm{sched}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Cumulative electric energy transferred into the test object during charging since the most recent schedule-defined assignment event, in watt hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with charging_energy_wh. Where computed, it is the time integral of instantaneous power over the charge intervals (current > 0) since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Charge_Energy), whose assignment behavior is operator-defined."@en .

:schedule_discharging_capacity_ah a owl:Class ;
    rdfs:label "Schedule Discharging Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Cumulative electric charge transferred out of the test object during discharging since the most recent schedule-defined assignment event, in ampere hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with discharging_capacity_ah. Where computed, it is the time integral of the magnitude of the negative part of current since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Discharge_Capacity), whose assignment behavior is operator-defined."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_0141b5c2_9f15_46f4_82e6_92a104faa476 ;
    skos:altLabel "schedule_discharging_capacity_ah"@en,
        "schedule_discharging_capacity_ampere_hour"@en ;
    skos:definition "Cumulative electric charge transferred out of the test object during discharging since the most recent schedule-defined assignment event, in ampere hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with discharging_capacity_ah. Where computed, it is the time integral of the magnitude of the negative part of current since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Discharge_Capacity), whose assignment behavior is operator-defined."@en ;
    skos:notation "schedule_discharging_capacity_ah" ;
    skos:prefLabel "Schedule Discharging Capacity / Ah"@en ;
    skos:scopeNote "Assignment points are protocol-defined, so values are not comparable across tests without the schedule; not suitable for cross-test aggregation. Use discharging_capacity_ah for the test-scoped quantity."@en ;
    prov:wasDerivedFrom :current_ampere,
        :test_time_second ;
    schema:description "Cumulative electric charge transferred out of the test object during discharging since the most recent schedule-defined assignment event, in ampere hour. Changes discontinuously only at schedule-defined assignments (typically a reset to zero; any value may be assigned)."@en ;
    schema:measurementTechnique "Vendor accumulator integrated by the instrument between schedule-defined assignment events; equivalently, the time integral of the magnitude of the negative part of current since the most recent assignment."@en ;
    schema:name "Schedule Discharging Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{dchg}^\\mathrm{sched}(t) = Q_\\mathrm{dchg}^\\mathrm{sched}(t_r) + \\frac{1}{3600}\\int_{t_r}^{t} \\max\\!\\bigl(-I(\\tau),\\,0\\bigr)\\,\\mathrm{d}\\tau,\\quad t_r = \\text{most recent schedule-defined assignment}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{dchg}^\\mathrm{sched}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Cumulative electric charge transferred out of the test object during discharging since the most recent schedule-defined assignment event, in ampere hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with discharging_capacity_ah. Where computed, it is the time integral of the magnitude of the negative part of current since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Discharge_Capacity), whose assignment behavior is operator-defined."@en .

:schedule_discharging_energy_wh a owl:Class ;
    rdfs:label "Schedule Discharging Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Cumulative electric energy transferred out of the test object during discharging since the most recent schedule-defined assignment event, in watt hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with discharging_energy_wh. Where computed, it is the time integral of instantaneous power magnitude over the discharge intervals (current < 0) since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Discharge_Energy), whose assignment behavior is operator-defined."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_ca36cbf3_1fed_4b88_9177_b4e16ad00cf7 ;
    skos:altLabel "schedule_discharging_energy_watt_hour"@en,
        "schedule_discharging_energy_wh"@en ;
    skos:definition "Cumulative electric energy transferred out of the test object during discharging since the most recent schedule-defined assignment event, in watt hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with discharging_energy_wh. Where computed, it is the time integral of instantaneous power magnitude over the discharge intervals (current < 0) since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Discharge_Energy), whose assignment behavior is operator-defined."@en ;
    skos:notation "schedule_discharging_energy_wh" ;
    skos:prefLabel "Schedule Discharging Energy / Wh"@en ;
    skos:scopeNote "Assignment points are protocol-defined, so values are not comparable across tests without the schedule; not suitable for cross-test aggregation. Use discharging_energy_wh for the test-scoped quantity."@en ;
    prov:wasDerivedFrom :current_ampere,
        :test_time_second ;
    schema:description "Cumulative electric energy transferred out of the test object during discharging since the most recent schedule-defined assignment event, in watt hour. Changes discontinuously only at schedule-defined assignments (typically a reset to zero; any value may be assigned)."@en ;
    schema:measurementTechnique "Vendor accumulator integrated by the instrument between schedule-defined assignment events; equivalently, the time integral of instantaneous power magnitude over the discharge intervals (current < 0) since the most recent assignment."@en ;
    schema:name "Schedule Discharging Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{dchg}^\\mathrm{sched}(t) = E_\\mathrm{dchg}^\\mathrm{sched}(t_r) + \\frac{1}{3600}\\int_{t_r}^{t} \\bigl|P(\\tau)\\bigr|\\,\\bigl[I(\\tau) < 0\\bigr]\\,\\mathrm{d}\\tau,\\quad t_r = \\text{most recent schedule-defined assignment}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{dchg}^\\mathrm{sched}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Cumulative electric energy transferred out of the test object during discharging since the most recent schedule-defined assignment event, in watt hour. Assignment points are authored in the test program (per cycle, at scripted steps, or never): typically a reset to zero, though schedule controls may assign an arbitrary value or a formula result (e.g. Arbin MITS 'Set variable(s)' resets and 'Set value' assignments; confirmed by Arbin). The value changes discontinuously only at such a schedule-defined assignment. When the schedule defines no assignments, this quantity coincides with discharging_energy_wh. Where computed, it is the time integral of instantaneous power magnitude over the discharge intervals (current < 0) since the most recent assignment. Matches the accumulators exported by schedule-driven cyclers (e.g. Arbin MITS Discharge_Energy), whose assignment behavior is operator-defined."@en .

:step_count a owl:Class ;
    rdfs:label "Step Count / 1"@en ;
    qudt:hasQuantityKind quantitykind:Count ;
    rdfs:comment "Monotonically increasing sequential counter incremented by one each time a new step begins, for the duration of the test. Unlike Step ID, this counter never resets and never repeats, making it a unique identifier for each step execution across all cycles."@en ;
    rdfs:seeAlso unit:NUM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:EMMO_5ebd5e01_0ed3_49a2_a30d_cd05cbe72978 ],
        sosa:ObservableProperty,
        emmo:EMMO_ba882f34_0d71_4e4f_9d92_0c076c633a2c ;
    skos:altLabel "step_count"@en,
        "step_count_1"@en,
        "step_dimensionless"@en ;
    skos:definition "Monotonically increasing sequential counter incremented by one each time a new step begins, for the duration of the test. Unlike Step ID, this counter never resets and never repeats, making it a unique identifier for each step execution across all cycles."@en ;
    skos:notation "step_count" ;
    skos:prefLabel "Step Count / 1"@en ;
    schema:description "Monotonically increasing sequential counter incremented by one each time a new step begins, for the duration of the test. Unlike Step ID, this counter never resets and never repeats, making it a unique identifier for each step execution across all cycles."@en ;
    schema:name "Step Count / 1"@en ;
    schema:unitCode "1" ;
    schema:unitText "one"@en ;
    :latexSymbol "k"^^xsd:string ;
    :obligation "recommended" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Monotonically increasing sequential counter incremented by one each time a new step begins, for the duration of the test. Unlike Step ID, this counter never resets and never repeats, making it a unique identifier for each step execution across all cycles."@en .

:step_id a owl:Class ;
    rdfs:label "Step ID"@en ;
    rdfs:comment "The step identifier as defined in the test program or schedule file. Values are instrument-defined and are not required to be contiguous or monotonically increasing; the same step ID may recur in successive cycles. Known equivalents: Arbin Step_Index, Neware Step_ID, Digatron Step, BioLogic Ns."@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:EMMO_5ebd5e01_0ed3_49a2_a30d_cd05cbe72978 ],
        sosa:ObservableProperty,
        emmo:EMMO_ba882f34_0d71_4e4f_9d92_0c076c633a2c ;
    skos:altLabel "step_id"@en ;
    skos:definition "The step identifier as defined in the test program or schedule file. Values are instrument-defined and are not required to be contiguous or monotonically increasing; the same step ID may recur in successive cycles. Known equivalents: Arbin Step_Index, Neware Step_ID, Digatron Step, BioLogic Ns."@en ;
    skos:notation "step_id" ;
    skos:prefLabel "Step ID"@en ;
    schema:description "The step identifier as defined in the test program or schedule file. Values are instrument-defined and are not required to be contiguous or monotonically increasing; the same step ID may recur in successive cycles. Known equivalents: Arbin Step_Index, Neware Step_ID, Digatron Step, BioLogic Ns."@en ;
    schema:name "Step ID"@en ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "The step identifier as defined in the test program or schedule file. Values are instrument-defined and are not required to be contiguous or monotonically increasing; the same step ID may recur in successive cycles. Known equivalents: Arbin Step_Index, Neware Step_ID, Digatron Step, BioLogic Ns."@en .

:step_index a owl:Class ;
    rdfs:label "Step Index / 1"@en ;
    dcterms:isReplacedBy :step_record_index ;
    qudt:hasQuantityKind quantitykind:Count ;
    rdfs:comment "1-based positional counter for data points within a step. Resets to 1 at the start of each new step and increments by 1 for each subsequent recorded data point. Always derivable from the data; not typically exported directly by cycler software. This is the within-step data-point counter, not the program step identifier: an instrument column named 'Step Index' (e.g. Arbin Step_Index) maps to step_id, not to this property."@en ;
    rdfs:seeAlso unit:NUM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:EMMO_5ebd5e01_0ed3_49a2_a30d_cd05cbe72978 ],
        sosa:ObservableProperty,
        emmo:EMMO_0cd58641_824c_4851_907f_f4c3be76630c ;
    owl:deprecated true ;
    skos:altLabel "step_index"@en,
        "step_index_1"@en ;
    skos:definition "1-based positional counter for data points within a step. Resets to 1 at the start of each new step and increments by 1 for each subsequent recorded data point. Always derivable from the data; not typically exported directly by cycler software. This is the within-step data-point counter, not the program step identifier: an instrument column named 'Step Index' (e.g. Arbin Step_Index) maps to step_id, not to this property."@en ;
    skos:historyNote "Deprecated in 1.3.0 (2026-07-17). Renamed to step_record_index to avoid collision with vendor 'Step Index' columns (e.g. Arbin Step_Index), which are program step identifiers mapping to step_id; the concept is unchanged."@en ;
    skos:notation "step_index" ;
    skos:prefLabel "Step Index / 1"@en ;
    schema:description "1-based positional counter for data points within a step. Resets to 1 at the start of each new step and increments by 1 for each subsequent recorded data point. Always derivable from the data; not typically exported directly by cycler software. This is the within-step data-point counter, not the program step identifier: an instrument column named 'Step Index' (e.g. Arbin Step_Index) maps to step_id, not to this property."@en ;
    schema:name "Step Index / 1"@en ;
    schema:unitCode "1" ;
    schema:unitText "one"@en ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "1-based positional counter for data points within a step. Resets to 1 at the start of each new step and increments by 1 for each subsequent recorded data point. Always derivable from the data; not typically exported directly by cycler software. This is the within-step data-point counter, not the program step identifier: an instrument column named 'Step Index' (e.g. Arbin Step_Index) maps to step_id, not to this property."@en .

:step_net_capacity_ah a owl:Class ;
    rdfs:label "Step Net Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Net charge transferred during the current test step, in ampere hour. Defined as step_charging_capacity_ah minus step_discharging_capacity_ah; the running signed integral of current from the step start, reset to zero at each step transition. Can be negative if more charge is extracted than injected during the step. Increases during charge intervals and decreases during discharge intervals within the step."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_791c1915_a791_4450_acd8_7f94764743b5 ;
    skos:altLabel "step_net_capacity_ah"@en,
        "step_net_capacity_ampere_hour"@en ;
    skos:definition "Net charge transferred during the current test step, in ampere hour. Defined as step_charging_capacity_ah minus step_discharging_capacity_ah; the running signed integral of current from the step start, reset to zero at each step transition. Can be negative if more charge is extracted than injected during the step. Increases during charge intervals and decreases during discharge intervals within the step."@en ;
    skos:notation "step_net_capacity_ah" ;
    skos:prefLabel "Step Net Capacity / Ah"@en ;
    prov:wasDerivedFrom :step_charging_capacity_ah,
        :step_discharging_capacity_ah ;
    schema:description "Running net capacity within the current test step: step_charging_capacity_ah - step_discharging_capacity_ah. Can be negative; resets to zero at each step transition."@en ;
    schema:measurementTechnique "Running signed integral of current from the start of the current test step. Positive increments during charging, negative during discharging. Reset to zero at each step transition."@en ;
    schema:name "Step Net Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{net}^\\mathrm{step}(t) = Q_\\mathrm{chg}^\\mathrm{step}(t) - Q_\\mathrm{dchg}^\\mathrm{step}(t) = \\frac{1}{3600}\\int_{t_s}^{t} I(\\tau)\\,\\mathrm{d}\\tau,\\quad t_s = \\text{start of the current step}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{net}^\\mathrm{step}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Net charge transferred during the current test step, in ampere hour. Defined as step_charging_capacity_ah minus step_discharging_capacity_ah; the running signed integral of current from the step start, reset to zero at each step transition. Can be negative if more charge is extracted than injected during the step. Increases during charge intervals and decreases during discharge intervals within the step."@en .

:step_net_energy_wh a owl:Class ;
    rdfs:label "Step Net Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Net energy transferred during the current test step, in watt hour. Defined as step_charging_energy_wh minus step_discharging_energy_wh; the running signed integral of instantaneous power from the step start, reset to zero at each step transition. Can be negative if more energy is extracted than delivered during the step. Increases during charge intervals and decreases during discharge intervals within the step."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_46376e5d_9627_4514_9881_9e62083625c3 ;
    skos:altLabel "step_net_energy_watt_hour"@en,
        "step_net_energy_wh"@en ;
    skos:definition "Net energy transferred during the current test step, in watt hour. Defined as step_charging_energy_wh minus step_discharging_energy_wh; the running signed integral of instantaneous power from the step start, reset to zero at each step transition. Can be negative if more energy is extracted than delivered during the step. Increases during charge intervals and decreases during discharge intervals within the step."@en ;
    skos:notation "step_net_energy_wh" ;
    skos:prefLabel "Step Net Energy / Wh"@en ;
    prov:wasDerivedFrom :step_charging_energy_wh,
        :step_discharging_energy_wh ;
    schema:description "Running net energy within the current test step: step_charging_energy_wh - step_discharging_energy_wh. Can be negative; resets to zero at each step transition."@en ;
    schema:measurementTechnique "Running signed integral of instantaneous power from the start of the current test step. Positive increments during charging, negative during discharging. Reset to zero at each step transition."@en ;
    schema:name "Step Net Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{net}^\\mathrm{step}(t) = E_\\mathrm{chg}^\\mathrm{step}(t) - E_\\mathrm{dchg}^\\mathrm{step}(t) = \\frac{1}{3600}\\int_{t_s}^{t} P(\\tau)\\,\\mathrm{d}\\tau,\\quad t_s = \\text{start of the current step}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{net}^\\mathrm{step}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Net energy transferred during the current test step, in watt hour. Defined as step_charging_energy_wh minus step_discharging_energy_wh; the running signed integral of instantaneous power from the step start, reset to zero at each step transition. Can be negative if more energy is extracted than delivered during the step. Increases during charge intervals and decreases during discharge intervals within the step."@en .

:step_type a owl:Class ;
    rdfs:label "Step Type"@en ;
    rdfs:comment "A string label describing the operational mode of the current test step, as reported by the cycler software. Common values include CC_CHG (constant-current charge), CC_DCH (constant-current discharge), CV_CHG (constant-voltage charge), CCCV_CHG (constant-current constant-voltage charge), REST, OCV, and EIS. The controlled vocabulary for this field is not yet standardised; values should be preserved as reported by the instrument."@en ;
    rdfs:subClassOf sosa:ObservableProperty,
        emmo:EMMO_5f334606_f67d_4f0e_acb9_eeb21cb10c66 ;
    skos:altLabel "step_type"@en ;
    skos:definition "A string label describing the operational mode of the current test step, as reported by the cycler software. Common values include CC_CHG (constant-current charge), CC_DCH (constant-current discharge), CV_CHG (constant-voltage charge), CCCV_CHG (constant-current constant-voltage charge), REST, OCV, and EIS. The controlled vocabulary for this field is not yet standardised; values should be preserved as reported by the instrument."@en ;
    skos:notation "step_type" ;
    skos:prefLabel "Step Type"@en ;
    schema:description "A string label describing the operational mode of the current test step, as reported by the cycler software. Common values include CC_CHG, CC_DCH, CV_CHG, CCCV_CHG, REST, OCV, EIS."@en ;
    schema:name "Step Type"@en ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A string label describing the operational mode of the current test step, as reported by the cycler software. Common values include CC_CHG (constant-current charge), CC_DCH (constant-current discharge), CV_CHG (constant-voltage charge), CCCV_CHG (constant-current constant-voltage charge), REST, OCV, and EIS. The controlled vocabulary for this field is not yet standardised; values should be preserved as reported by the instrument."@en .

:surface_pressure_pa a owl:Class ;
    rdfs:label "Surface Pressure / Pa"@en ;
    qudt:hasQuantityKind quantitykind:Pressure ;
    rdfs:comment "Pressure measured at the surface of the test object, in pascal. A measured quantity that may be nonzero even when no external pressure is actively applied, e.g. from cell swelling against a fixture. Distinguished from applied_pressure_pa, which is actively applied and controlled by an external agent."@en ;
    rdfs:seeAlso unit:PA ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Pascal ],
        sosa:ObservableProperty,
        emmo:EMMO_50a44256_9dc5_434b_bad4_74a4d9a29989 ;
    skos:altLabel "surface_pressure_pa"@en,
        "surface_pressure_pascal"@en ;
    skos:definition "Pressure measured at the surface of the test object, in pascal. A measured quantity that may be nonzero even when no external pressure is actively applied, e.g. from cell swelling against a fixture. Distinguished from applied_pressure_pa, which is actively applied and controlled by an external agent."@en ;
    skos:notation "surface_pressure_pa" ;
    skos:prefLabel "Surface Pressure / Pa"@en ;
    schema:description "Pressure measured at the surface of the test object, in pascal. A measured quantity that may be nonzero even when no external pressure is actively applied, e.g. from cell swelling against a fixture. Distinguished from applied_pressure_pa, which is actively applied and controlled by an external agent."@en ;
    schema:name "Surface Pressure / Pa"@en ;
    schema:unitCode "Pa" ;
    schema:unitText "pascal"@en ;
    :latexSymbol "p_\\mathrm{surf}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Pressure measured at the surface of the test object, in pascal. A measured quantity that may be nonzero even when no external pressure is actively applied, e.g. from cell swelling against a fixture. Distinguished from applied_pressure_pa, which is actively applied and controlled by an external agent."@en .

:surface_temperature_celsius a owl:Class ;
    rdfs:label "Surface Temperature / degC"@en ;
    qudt:hasQuantityKind quantitykind:Temperature ;
    rdfs:comment "Temperature measured at the surface of the test object, in degree Celsius, regardless of which sensor channel recorded it. Use this term when a column is explicitly a surface (skin) temperature without channel information; channel-indexed auxiliary sensors map to temperature_t1_celsius through temperature_t5_celsius, whose placement is setup-defined."@en ;
    rdfs:seeAlso unit:DEG_C ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:DegreeCelsius ],
        sosa:ObservableProperty,
        emmo:EMMO_66bc9029_f473_45ff_bab9_c3509ff37a22 ;
    skos:altLabel "surface_temperature_celsius"@en,
        "surface_temperature_degc"@en ;
    skos:definition "Temperature measured at the surface of the test object, in degree Celsius, regardless of which sensor channel recorded it. Use this term when a column is explicitly a surface (skin) temperature without channel information; channel-indexed auxiliary sensors map to temperature_t1_celsius through temperature_t5_celsius, whose placement is setup-defined."@en ;
    skos:notation "surface_temperature_celsius" ;
    skos:prefLabel "Surface Temperature / degC"@en ;
    schema:description "Temperature measured at the surface of the test object, in degree Celsius, regardless of sensor channel."@en ;
    schema:name "Surface Temperature / degC"@en ;
    schema:unitCode "Cel" ;
    schema:unitText "degree Celsius"@en ;
    :latexSymbol "T_\\mathrm{surf}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Temperature measured at the surface of the test object, in degree Celsius, regardless of which sensor channel recorded it. Use this term when a column is explicitly a surface (skin) temperature without channel information; channel-indexed auxiliary sensors map to temperature_t1_celsius through temperature_t5_celsius, whose placement is setup-defined."@en .

:temperature_t1_celsius a owl:Class ;
    rdfs:label "Temperature T1 / degC"@en ;
    qudt:hasQuantityKind quantitykind:Temperature ;
    rdfs:comment "Temperature recorded by auxiliary temperature channel 1 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    rdfs:seeAlso unit:DEG_C ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:DegreeCelsius ],
        sosa:ObservableProperty,
        emmo:EMMO_66bc9029_f473_45ff_bab9_c3509ff37a22 ;
    skos:altLabel "Surface Temperature T1 / degC"@en,
        "surface_temperature_t1_celsius"@en,
        "temperature_t1_celsius"@en,
        "temperature_t1_degc"@en ;
    skos:definition "Temperature recorded by auxiliary temperature channel 1 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    skos:notation "temperature_t1_celsius" ;
    skos:prefLabel "Temperature T1 / degC"@en ;
    skos:scopeNote "Default mapping convention: a single unqualified temperature column from a cycler, or an unqualified numbered channel (T1), maps to temperature_t1_celsius. Columns explicitly designated as chamber, environment, or ambient temperature map to ambient_temperature_celsius; columns explicitly designated as surface (skin) temperature without channel information map to surface_temperature_celsius."@en ;
    schema:description "Temperature recorded by auxiliary temperature channel 1, in degree Celsius. Sensor placement is setup-defined; record it in accompanying metadata."@en ;
    schema:name "Temperature T1 / degC"@en ;
    schema:unitCode "Cel" ;
    schema:unitText "degree Celsius"@en ;
    :latexSymbol "T_1"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Temperature recorded by auxiliary temperature channel 1 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en .

:temperature_t2_celsius a owl:Class ;
    rdfs:label "Temperature T2 / degC"@en ;
    qudt:hasQuantityKind quantitykind:Temperature ;
    rdfs:comment "Temperature recorded by auxiliary temperature channel 2 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    rdfs:seeAlso unit:DEG_C ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:DegreeCelsius ],
        sosa:ObservableProperty,
        emmo:EMMO_66bc9029_f473_45ff_bab9_c3509ff37a22 ;
    skos:altLabel "Surface Temperature T2 / degC"@en,
        "surface_temperature_t2_celsius"@en,
        "temperature_t2_celsius"@en,
        "temperature_t2_degc"@en ;
    skos:definition "Temperature recorded by auxiliary temperature channel 2 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    skos:notation "temperature_t2_celsius" ;
    skos:prefLabel "Temperature T2 / degC"@en ;
    schema:description "Temperature recorded by auxiliary temperature channel 2, in degree Celsius. Sensor placement is setup-defined; record it in accompanying metadata."@en ;
    schema:name "Temperature T2 / degC"@en ;
    schema:unitCode "Cel" ;
    schema:unitText "degree Celsius"@en ;
    :latexSymbol "T_2"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Temperature recorded by auxiliary temperature channel 2 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en .

:temperature_t3_celsius a owl:Class ;
    rdfs:label "Temperature T3 / degC"@en ;
    qudt:hasQuantityKind quantitykind:Temperature ;
    rdfs:comment "Temperature recorded by auxiliary temperature channel 3 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    rdfs:seeAlso unit:DEG_C ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:DegreeCelsius ],
        sosa:ObservableProperty,
        emmo:EMMO_66bc9029_f473_45ff_bab9_c3509ff37a22 ;
    skos:altLabel "Surface Temperature T3 / degC"@en,
        "surface_temperature_t3_celsius"@en,
        "temperature_t3_celsius"@en,
        "temperature_t3_degc"@en ;
    skos:definition "Temperature recorded by auxiliary temperature channel 3 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    skos:notation "temperature_t3_celsius" ;
    skos:prefLabel "Temperature T3 / degC"@en ;
    schema:description "Temperature recorded by auxiliary temperature channel 3, in degree Celsius. Sensor placement is setup-defined; record it in accompanying metadata."@en ;
    schema:name "Temperature T3 / degC"@en ;
    schema:unitCode "Cel" ;
    schema:unitText "degree Celsius"@en ;
    :latexSymbol "T_3"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Temperature recorded by auxiliary temperature channel 3 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en .

:temperature_t4_celsius a owl:Class ;
    rdfs:label "Temperature T4 / degC"@en ;
    qudt:hasQuantityKind quantitykind:Temperature ;
    rdfs:comment "Temperature recorded by auxiliary temperature channel 4 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    rdfs:seeAlso unit:DEG_C ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:DegreeCelsius ],
        sosa:ObservableProperty,
        emmo:EMMO_66bc9029_f473_45ff_bab9_c3509ff37a22 ;
    skos:altLabel "Surface Temperature T4 / degC"@en,
        "surface_temperature_t4_celsius"@en,
        "temperature_t4_celsius"@en,
        "temperature_t4_degc"@en ;
    skos:definition "Temperature recorded by auxiliary temperature channel 4 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    skos:notation "temperature_t4_celsius" ;
    skos:prefLabel "Temperature T4 / degC"@en ;
    schema:description "Temperature recorded by auxiliary temperature channel 4, in degree Celsius. Sensor placement is setup-defined; record it in accompanying metadata."@en ;
    schema:name "Temperature T4 / degC"@en ;
    schema:unitCode "Cel" ;
    schema:unitText "degree Celsius"@en ;
    :latexSymbol "T_4"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Temperature recorded by auxiliary temperature channel 4 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en .

:temperature_t5_celsius a owl:Class ;
    rdfs:label "Temperature T5 / degC"@en ;
    qudt:hasQuantityKind quantitykind:Temperature ;
    rdfs:comment "Temperature recorded by auxiliary temperature channel 5 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    rdfs:seeAlso unit:DEG_C ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:DegreeCelsius ],
        sosa:ObservableProperty,
        emmo:EMMO_66bc9029_f473_45ff_bab9_c3509ff37a22 ;
    skos:altLabel "Surface Temperature T5 / degC"@en,
        "surface_temperature_t5_celsius"@en,
        "temperature_t5_celsius"@en,
        "temperature_t5_degc"@en ;
    skos:definition "Temperature recorded by auxiliary temperature channel 5 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en ;
    skos:notation "temperature_t5_celsius" ;
    skos:prefLabel "Temperature T5 / degC"@en ;
    schema:description "Temperature recorded by auxiliary temperature channel 5, in degree Celsius. Sensor placement is setup-defined; record it in accompanying metadata."@en ;
    schema:name "Temperature T5 / degC"@en ;
    schema:unitCode "Cel" ;
    schema:unitText "degree Celsius"@en ;
    :latexSymbol "T_5"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Temperature recorded by auxiliary temperature channel 5 of the test setup, in degree Celsius. Sensor placement (e.g. cell surface, terminal, or elsewhere) is setup-defined and not constrained by this term; record the placement in accompanying metadata. Where a channel is known to measure the surface temperature of the test object, see also surface_temperature_celsius."@en .

:test_time_millisecond a owl:Class ;
    rdfs:label "Test Time / ms"@en ;
    dcterms:isReplacedBy :test_time_second ;
    qudt:hasQuantityKind quantitykind:Time ;
    rdfs:comment "Test time recorded in millisecond."@en ;
    rdfs:seeAlso unit:MilliSEC ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:MilliSecond ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_27b3799c_250c_4332_8b71_7992c4a7bb05 ;
    owl:deprecated true ;
    skos:altLabel "test_time_millisecond"@en,
        "test_time_ms"@en ;
    skos:definition "Test time recorded in millisecond."@en ;
    skos:historyNote "Deprecated in favour of test_time_second: seconds are the canonical BDF time unit. Retained for legacy compatibility."@en ;
    skos:notation "test_time_millisecond" ;
    skos:prefLabel "Test Time / ms"@en ;
    schema:description "Test time recorded in millisecond."@en ;
    schema:name "Test Time / ms"@en ;
    schema:unitCode "ms" ;
    schema:unitText "millisecond"@en ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Test time recorded in millisecond."@en .

:unix_time_millisecond a owl:Class ;
    rdfs:label "Unix Time / ms"@en ;
    dcterms:isReplacedBy :unix_time_second ;
    qudt:hasQuantityKind quantitykind:Time ;
    rdfs:comment "Unix time recorded in millisecond."@en ;
    rdfs:seeAlso unit:MilliSEC ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:MilliSecond ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_27b3799c_250c_4332_8b71_7992c4a7bb05 ;
    owl:deprecated true ;
    skos:altLabel "unix_time_millisecond"@en,
        "unix_time_ms"@en ;
    skos:definition "Unix time recorded in millisecond."@en ;
    skos:historyNote "Deprecated in favour of unix_time_second: seconds are the canonical BDF time unit. Retained for legacy compatibility."@en ;
    skos:notation "unix_time_millisecond" ;
    skos:prefLabel "Unix Time / ms"@en ;
    schema:description "Unix time recorded in millisecond."@en ;
    schema:name "Unix Time / ms"@en ;
    schema:unitCode "ms" ;
    schema:unitText "millisecond"@en ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Unix time recorded in millisecond."@en .

<https://github.com/battery-data-alliance> rdfs:label "Battery Data Alliance"@en .

:charging_capacity_ah a owl:Class ;
    rdfs:label "Charging Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Cumulative electric charge transferred into the test object during charging, in ampere hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during charge intervals; unchanged during rest or discharge. Note: differs from step-level Q charge as reported by some instruments (e.g. BioLogic EC-Lab), which reset to zero at each step boundary."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_10763eb0_dbc9_4d34_bd1a_7b8996590d45 ;
    skos:altLabel "charging_capacity_ah"@en,
        "charging_capacity_ampere_hour"@en ;
    skos:definition "Cumulative electric charge transferred into the test object during charging, in ampere hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during charge intervals; unchanged during rest or discharge. Note: differs from step-level Q charge as reported by some instruments (e.g. BioLogic EC-Lab), which reset to zero at each step boundary."@en ;
    skos:notation "charging_capacity_ah" ;
    skos:prefLabel "Charging Capacity / Ah"@en ;
    prov:wasDerivedFrom :current_ampere,
        :test_time_second ;
    schema:description "Cumulative electric charge transferred into the test object during charging since test start, in ampere hour. Never resets between steps or cycles."@en ;
    schema:name "Charging Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{chg}(t) = \\frac{1}{3600}\\int_0^t \\max\\!\\bigl(I(\\tau),\\,0\\bigr)\\,\\mathrm{d}\\tau"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{chg}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Cumulative electric charge transferred into the test object during charging, in ampere hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during charge intervals; unchanged during rest or discharge. Note: differs from step-level Q charge as reported by some instruments (e.g. BioLogic EC-Lab), which reset to zero at each step boundary."@en .

:charging_energy_wh a owl:Class ;
    rdfs:label "Charging Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Cumulative energy transferred into the test object during charging, in watt hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during charge intervals; unchanged during rest or discharge."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_2ab7af60_da58_4243_b3bc_cbb2155cac53 ;
    skos:altLabel "charging_energy_watt_hour"@en,
        "charging_energy_wh"@en ;
    skos:definition "Cumulative energy transferred into the test object during charging, in watt hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during charge intervals; unchanged during rest or discharge."@en ;
    skos:notation "charging_energy_wh" ;
    skos:prefLabel "Charging Energy / Wh"@en ;
    prov:wasDerivedFrom :power_watt,
        :test_time_second ;
    schema:description "Cumulative energy transferred into the test object during charging since test start, in watt hour. Never resets between steps or cycles."@en ;
    schema:name "Charging Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{chg}(t) = \\frac{1}{3600}\\int_0^t P(\\tau)\\,\\bigl[I(\\tau) > 0\\bigr]\\,\\mathrm{d}\\tau,\\quad [\\cdot] = \\text{1 if true, 0 otherwise}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{chg}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Cumulative energy transferred into the test object during charging, in watt hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during charge intervals; unchanged during rest or discharge."@en .

:cycle_charging_capacity_ah a owl:Class ;
    rdfs:label "Cycle Charging Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Electric charge transferred into the test object during the charge portions of the current cycle, in ampere hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the time integral of the positive part of current from the start of the current cycle. Equivalent to the cycle-level charge capacity reported by some instruments (e.g. Arbin Charge_Capacity in cycle-reset export configurations), which reset at each cycle boundary."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_10763eb0_dbc9_4d34_bd1a_7b8996590d45 ;
    skos:altLabel "cycle_charge_capacity_ah"@en,
        "cycle_charging_capacity_ah"@en,
        "cycle_charging_capacity_ampere_hour"@en ;
    skos:definition "Electric charge transferred into the test object during the charge portions of the current cycle, in ampere hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the time integral of the positive part of current from the start of the current cycle. Equivalent to the cycle-level charge capacity reported by some instruments (e.g. Arbin Charge_Capacity in cycle-reset export configurations), which reset at each cycle boundary."@en ;
    skos:notation "cycle_charging_capacity_ah" ;
    skos:prefLabel "Cycle Charging Capacity / Ah"@en ;
    prov:wasDerivedFrom :current_ampere,
        :cycle_count ;
    schema:description "Electric charge transferred into the test object during the charge portions of the current cycle, in ampere hour. Non-negative; resets to zero when cycle_count increments."@en ;
    schema:measurementTechnique "Time integral of the positive part of current from the start of the current cycle."@en ;
    schema:name "Cycle Charging Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{chg}^\\mathrm{cyc}(t) = \\frac{1}{3600}\\int_{t_c}^{t} \\max\\!\\bigl(I(\\tau),\\,0\\bigr)\\,\\mathrm{d}\\tau,\\quad t_c = \\text{start of the current cycle}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{chg}^\\mathrm{cyc}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Electric charge transferred into the test object during the charge portions of the current cycle, in ampere hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the time integral of the positive part of current from the start of the current cycle. Equivalent to the cycle-level charge capacity reported by some instruments (e.g. Arbin Charge_Capacity in cycle-reset export configurations), which reset at each cycle boundary."@en .

:cycle_charging_energy_wh a owl:Class ;
    rdfs:label "Cycle Charging Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Energy transferred into the test object during the charge portions of the current cycle, in watt hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the time integral of instantaneous power over the charge intervals (current > 0) of the cycle. Equivalent to the cycle-level charge energy reported by some instruments (e.g. Arbin Charge_Energy in cycle-reset export configurations)."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_2ab7af60_da58_4243_b3bc_cbb2155cac53 ;
    skos:altLabel "cycle_charge_energy_wh"@en,
        "cycle_charging_energy_watt_hour"@en,
        "cycle_charging_energy_wh"@en ;
    skos:definition "Energy transferred into the test object during the charge portions of the current cycle, in watt hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the time integral of instantaneous power over the charge intervals (current > 0) of the cycle. Equivalent to the cycle-level charge energy reported by some instruments (e.g. Arbin Charge_Energy in cycle-reset export configurations)."@en ;
    skos:notation "cycle_charging_energy_wh" ;
    skos:prefLabel "Cycle Charging Energy / Wh"@en ;
    prov:wasDerivedFrom :cycle_count,
        :power_watt ;
    schema:description "Energy transferred into the test object during the charge portions of the current cycle, in watt hour. Non-negative; resets to zero when cycle_count increments."@en ;
    schema:measurementTechnique "Time integral of instantaneous power over the charge intervals (current > 0) of the current cycle."@en ;
    schema:name "Cycle Charging Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{chg}^\\mathrm{cyc}(t) = \\frac{1}{3600}\\int_{t_c}^{t} P(\\tau)\\,\\bigl[I(\\tau) > 0\\bigr]\\,\\mathrm{d}\\tau,\\quad t_c = \\text{start of the current cycle},\\quad [\\cdot] = \\text{1 if true, 0 otherwise}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{chg}^\\mathrm{cyc}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Energy transferred into the test object during the charge portions of the current cycle, in watt hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the time integral of instantaneous power over the charge intervals (current > 0) of the cycle. Equivalent to the cycle-level charge energy reported by some instruments (e.g. Arbin Charge_Energy in cycle-reset export configurations)."@en .

:cycle_discharging_capacity_ah a owl:Class ;
    rdfs:label "Cycle Discharging Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Electric charge transferred out of the test object during the discharge portions of the current cycle, in ampere hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the time integral of the negated negative part of current from the start of the current cycle. Equivalent to the cycle-level discharge capacity reported by some instruments (e.g. Arbin Discharge_Capacity in cycle-reset export configurations), which reset at each cycle boundary. Its end-of-cycle value is the discharge capacity of that cycle, the quantity conventionally plotted in capacity-fade curves."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_0141b5c2_9f15_46f4_82e6_92a104faa476 ;
    skos:altLabel "cycle_discharge_capacity_ah"@en,
        "cycle_discharging_capacity_ah"@en,
        "cycle_discharging_capacity_ampere_hour"@en ;
    skos:definition "Electric charge transferred out of the test object during the discharge portions of the current cycle, in ampere hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the time integral of the negated negative part of current from the start of the current cycle. Equivalent to the cycle-level discharge capacity reported by some instruments (e.g. Arbin Discharge_Capacity in cycle-reset export configurations), which reset at each cycle boundary. Its end-of-cycle value is the discharge capacity of that cycle, the quantity conventionally plotted in capacity-fade curves."@en ;
    skos:notation "cycle_discharging_capacity_ah" ;
    skos:prefLabel "Cycle Discharging Capacity / Ah"@en ;
    prov:wasDerivedFrom :current_ampere,
        :cycle_count ;
    schema:description "Electric charge transferred out of the test object during the discharge portions of the current cycle, in ampere hour. Non-negative; resets to zero when cycle_count increments."@en ;
    schema:measurementTechnique "Time integral of the negated negative part of current from the start of the current cycle."@en ;
    schema:name "Cycle Discharging Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{dchg}^\\mathrm{cyc}(t) = \\frac{1}{3600}\\int_{t_c}^{t} \\max\\!\\bigl(-I(\\tau),\\,0\\bigr)\\,\\mathrm{d}\\tau,\\quad t_c = \\text{start of the current cycle}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{dchg}^\\mathrm{cyc}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Electric charge transferred out of the test object during the discharge portions of the current cycle, in ampere hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the time integral of the negated negative part of current from the start of the current cycle. Equivalent to the cycle-level discharge capacity reported by some instruments (e.g. Arbin Discharge_Capacity in cycle-reset export configurations), which reset at each cycle boundary. Its end-of-cycle value is the discharge capacity of that cycle, the quantity conventionally plotted in capacity-fade curves."@en .

:cycle_discharging_energy_wh a owl:Class ;
    rdfs:label "Cycle Discharging Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Energy transferred out of the test object during the discharge portions of the current cycle, in watt hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the negated time integral of instantaneous power over the discharge intervals (current < 0) of the cycle. Equivalent to the cycle-level discharge energy reported by some instruments (e.g. Arbin Discharge_Energy in cycle-reset export configurations)."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_ca36cbf3_1fed_4b88_9177_b4e16ad00cf7 ;
    skos:altLabel "cycle_discharge_energy_wh"@en,
        "cycle_discharging_energy_watt_hour"@en,
        "cycle_discharging_energy_wh"@en ;
    skos:definition "Energy transferred out of the test object during the discharge portions of the current cycle, in watt hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the negated time integral of instantaneous power over the discharge intervals (current < 0) of the cycle. Equivalent to the cycle-level discharge energy reported by some instruments (e.g. Arbin Discharge_Energy in cycle-reset export configurations)."@en ;
    skos:notation "cycle_discharging_energy_wh" ;
    skos:prefLabel "Cycle Discharging Energy / Wh"@en ;
    prov:wasDerivedFrom :cycle_count,
        :power_watt ;
    schema:description "Energy transferred out of the test object during the discharge portions of the current cycle, in watt hour. Non-negative; resets to zero when cycle_count increments."@en ;
    schema:measurementTechnique "Negated time integral of instantaneous power over the discharge intervals (current < 0) of the current cycle."@en ;
    schema:name "Cycle Discharging Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{dchg}^\\mathrm{cyc}(t) = \\frac{1}{3600}\\int_{t_c}^{t} -P(\\tau)\\,\\bigl[I(\\tau) < 0\\bigr]\\,\\mathrm{d}\\tau,\\quad t_c = \\text{start of the current cycle},\\quad [\\cdot] = \\text{1 if true, 0 otherwise}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{dchg}^\\mathrm{cyc}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Energy transferred out of the test object during the discharge portions of the current cycle, in watt hour. Non-negative (>= 0); resets to zero when cycle_count increments (cycle boundaries are instrument-defined; see cycle_count). Where computed, it is the negated time integral of instantaneous power over the discharge intervals (current < 0) of the cycle. Equivalent to the cycle-level discharge energy reported by some instruments (e.g. Arbin Discharge_Energy in cycle-reset export configurations)."@en .

:discharging_capacity_ah a owl:Class ;
    rdfs:label "Discharging Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Cumulative electric charge transferred out of the test object during discharging, in ampere hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during discharge intervals; unchanged during rest or charge. Note: differs from step-level Q discharge as reported by some instruments (e.g. BioLogic EC-Lab), which reset to zero at each step boundary."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_0141b5c2_9f15_46f4_82e6_92a104faa476 ;
    skos:altLabel "discharging_capacity_ah"@en,
        "discharging_capacity_ampere_hour"@en ;
    skos:definition "Cumulative electric charge transferred out of the test object during discharging, in ampere hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during discharge intervals; unchanged during rest or charge. Note: differs from step-level Q discharge as reported by some instruments (e.g. BioLogic EC-Lab), which reset to zero at each step boundary."@en ;
    skos:notation "discharging_capacity_ah" ;
    skos:prefLabel "Discharging Capacity / Ah"@en ;
    prov:wasDerivedFrom :current_ampere,
        :test_time_second ;
    schema:description "Cumulative electric charge transferred out of the test object during discharging since test start, in ampere hour. Never resets between steps or cycles."@en ;
    schema:name "Discharging Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{dchg}(t) = \\frac{1}{3600}\\int_0^t \\max\\!\\bigl(-I(\\tau),\\,0\\bigr)\\,\\mathrm{d}\\tau"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{dchg}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Cumulative electric charge transferred out of the test object during discharging, in ampere hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during discharge intervals; unchanged during rest or charge. Note: differs from step-level Q discharge as reported by some instruments (e.g. BioLogic EC-Lab), which reset to zero at each step boundary."@en .

:discharging_energy_wh a owl:Class ;
    rdfs:label "Discharging Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Cumulative energy transferred out of the test object during discharging, in watt hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during discharge intervals; unchanged during rest or charge."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_ca36cbf3_1fed_4b88_9177_b4e16ad00cf7 ;
    skos:altLabel "discharging_energy_watt_hour"@en,
        "discharging_energy_wh"@en ;
    skos:definition "Cumulative energy transferred out of the test object during discharging, in watt hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during discharge intervals; unchanged during rest or charge."@en ;
    skos:notation "discharging_energy_wh" ;
    skos:prefLabel "Discharging Energy / Wh"@en ;
    prov:wasDerivedFrom :power_watt,
        :test_time_second ;
    schema:description "Cumulative energy transferred out of the test object during discharging since test start, in watt hour. Never resets between steps or cycles."@en ;
    schema:name "Discharging Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{dchg}(t) = \\frac{1}{3600}\\int_0^t -P(\\tau)\\,\\bigl[I(\\tau) < 0\\bigr]\\,\\mathrm{d}\\tau,\\quad [\\cdot] = \\text{1 if true, 0 otherwise}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{dchg}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Cumulative energy transferred out of the test object during discharging, in watt hour. Accumulates from the start of the test and never resets between steps or cycles. Increases only during discharge intervals; unchanged during rest or charge."@en .

:step_charging_capacity_ah a owl:Class ;
    rdfs:label "Step Charging Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Electric charge transferred into the test object during the charge portion of the current test step, in ampere hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the time integral of the positive part of current over the step. Equivalent to the step-level charge capacity reported by some instruments (e.g. BioLogic EC-Lab Q charge), which reset at each step boundary."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_10763eb0_dbc9_4d34_bd1a_7b8996590d45 ;
    skos:altLabel "step_charge_capacity_ah"@en,
        "step_charging_capacity_ah"@en,
        "step_charging_capacity_ampere_hour"@en ;
    skos:definition "Electric charge transferred into the test object during the charge portion of the current test step, in ampere hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the time integral of the positive part of current over the step. Equivalent to the step-level charge capacity reported by some instruments (e.g. BioLogic EC-Lab Q charge), which reset at each step boundary."@en ;
    skos:notation "step_charging_capacity_ah" ;
    skos:prefLabel "Step Charging Capacity / Ah"@en ;
    prov:wasDerivedFrom :current_ampere,
        :step_time_second ;
    schema:description "Electric charge transferred into the test object during the charge portion of the current test step, in ampere hour. Non-negative; resets to zero at each step transition."@en ;
    schema:measurementTechnique "Time integral of the positive part of current over the duration of the current test step."@en ;
    schema:name "Step Charging Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{chg}^\\mathrm{step}(t) = \\frac{1}{3600}\\int_{t_s}^{t} \\max\\!\\bigl(I(\\tau),\\,0\\bigr)\\,\\mathrm{d}\\tau,\\quad t_s = \\text{start of the current step}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{chg}^\\mathrm{step}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Electric charge transferred into the test object during the charge portion of the current test step, in ampere hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the time integral of the positive part of current over the step. Equivalent to the step-level charge capacity reported by some instruments (e.g. BioLogic EC-Lab Q charge), which reset at each step boundary."@en .

:step_charging_energy_wh a owl:Class ;
    rdfs:label "Step Charging Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Energy transferred into the test object during the charge portion of the current test step, in watt hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the time integral of instantaneous power over the charge intervals (current > 0) of the step."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_2ab7af60_da58_4243_b3bc_cbb2155cac53 ;
    skos:altLabel "step_charge_energy_wh"@en,
        "step_charging_energy_watt_hour"@en,
        "step_charging_energy_wh"@en ;
    skos:definition "Energy transferred into the test object during the charge portion of the current test step, in watt hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the time integral of instantaneous power over the charge intervals (current > 0) of the step."@en ;
    skos:notation "step_charging_energy_wh" ;
    skos:prefLabel "Step Charging Energy / Wh"@en ;
    prov:wasDerivedFrom :power_watt,
        :step_time_second ;
    schema:description "Energy transferred into the test object during the charge portion of the current test step, in watt hour. Non-negative; resets to zero at each step transition."@en ;
    schema:measurementTechnique "Time integral of instantaneous power over the charge intervals (current > 0) of the current test step."@en ;
    schema:name "Step Charging Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{chg}^\\mathrm{step}(t) = \\frac{1}{3600}\\int_{t_s}^{t} P(\\tau)\\,\\bigl[I(\\tau) > 0\\bigr]\\,\\mathrm{d}\\tau,\\quad t_s = \\text{start of the current step},\\quad [\\cdot] = \\text{1 if true, 0 otherwise}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{chg}^\\mathrm{step}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Energy transferred into the test object during the charge portion of the current test step, in watt hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the time integral of instantaneous power over the charge intervals (current > 0) of the step."@en .

:step_cumulative_capacity_ah a owl:Class ;
    rdfs:label "Step Cumulative Capacity / Ah"@en ;
    dcterms:replaces :step_capacity_ah ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Running accumulation of charge throughput within the current test step, in ampere hour. Monotonically non-decreasing within the step; resets to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value."@en,
        "Running accumulation of charge throughput within the current test step, in ampere hour: the time integral of the absolute current from the step start, monotonically non-decreasing within the step and reset to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value. Instruments that export this quantity directly are accepted as-is; where it must be computed, it is the time integral of the absolute current over the step duration."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_ae108db7_8765_4329_9908_059277dee586 ;
    skos:altLabel "step_capacity_ah"@en,
        "step_cumulative_capacity_ah"@en,
        "step_cumulative_capacity_ampere_hour"@en ;
    skos:definition "Running accumulation of charge throughput within the current test step, in ampere hour: the time integral of the absolute current from the step start, monotonically non-decreasing within the step and reset to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value. Instruments that export this quantity directly are accepted as-is; where it must be computed, it is the time integral of the absolute current over the step duration."@en ;
    skos:notation "step_cumulative_capacity_ah" ;
    skos:prefLabel "Step Cumulative Capacity / Ah"@en ;
    prov:wasDerivedFrom :current_ampere,
        :step_time_second ;
    prov:wasRevisionOf :step_capacity_ah ;
    schema:description "Running accumulation of charge throughput within the current test step, in ampere hour. Monotonically non-decreasing within the step; resets to zero at each step transition."@en ;
    schema:measurementTechnique "Time integral of the absolute value of current from the start of the current test step."@en ;
    schema:name "Step Cumulative Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{cum}^\\mathrm{step}(t) = Q_\\mathrm{chg}^\\mathrm{step}(t) + Q_\\mathrm{dchg}^\\mathrm{step}(t) = \\frac{1}{3600}\\int_{t_s}^{t} \\bigl|I(\\tau)\\bigr|\\,\\mathrm{d}\\tau,\\quad t_s = \\text{start of the current step}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{cum}^\\mathrm{step}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Running accumulation of charge throughput within the current test step, in ampere hour. Monotonically non-decreasing within the step; resets to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value."@en .

:step_cumulative_energy_wh a owl:Class ;
    rdfs:label "Step Cumulative Energy / Wh"@en ;
    dcterms:replaces :step_energy_wh ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Running accumulation of energy throughput within the current test step, in watt hour. Monotonically non-decreasing within the step; resets to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value."@en,
        "Running accumulation of energy throughput within the current test step, in watt hour: the time integral of the current-signed instantaneous power (P times the sign of I) from the step start, monotonically non-decreasing within the step and reset to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value. Instruments that export this quantity directly are accepted as-is; where it must be computed, it is the time integral of the current-signed instantaneous power over the step duration."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_46376e5d_9627_4514_9881_9e62083625c3 ;
    skos:altLabel "step_cumulative_energy_watt_hour"@en,
        "step_cumulative_energy_wh"@en,
        "step_energy_wh"@en ;
    skos:definition "Running accumulation of energy throughput within the current test step, in watt hour: the time integral of the current-signed instantaneous power (P times the sign of I) from the step start, monotonically non-decreasing within the step and reset to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value. Instruments that export this quantity directly are accepted as-is; where it must be computed, it is the time integral of the current-signed instantaneous power over the step duration."@en ;
    skos:notation "step_cumulative_energy_wh" ;
    skos:prefLabel "Step Cumulative Energy / Wh"@en ;
    prov:wasDerivedFrom :power_watt,
        :step_time_second ;
    prov:wasRevisionOf :step_energy_wh ;
    schema:description "Running accumulation of energy throughput within the current test step, in watt hour. Monotonically non-decreasing within the step; resets to zero at each step transition."@en ;
    schema:measurementTechnique "Time integral of the current-signed instantaneous power (P times the sign of I) from the start of the current test step."@en ;
    schema:name "Step Cumulative Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{cum}^\\mathrm{step}(t) = E_\\mathrm{chg}^\\mathrm{step}(t) + E_\\mathrm{dchg}^\\mathrm{step}(t) = \\frac{1}{3600}\\int_{t_s}^{t} P(\\tau)\\,\\operatorname{sgn} I(\\tau)\\,\\mathrm{d}\\tau,\\quad t_s = \\text{start of the current step}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{cum}^\\mathrm{step}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Running accumulation of energy throughput within the current test step, in watt hour. Monotonically non-decreasing within the step; resets to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value."@en .

:step_discharging_capacity_ah a owl:Class ;
    rdfs:label "Step Discharging Capacity / Ah"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Electric charge transferred out of the test object during the discharge portion of the current test step, in ampere hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the time integral of the negated negative part of current over the step. Equivalent to the step-level discharge capacity reported by some instruments (e.g. BioLogic EC-Lab Q discharge), which reset at each step boundary."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_0141b5c2_9f15_46f4_82e6_92a104faa476 ;
    skos:altLabel "step_discharge_capacity_ah"@en,
        "step_discharging_capacity_ah"@en,
        "step_discharging_capacity_ampere_hour"@en ;
    skos:definition "Electric charge transferred out of the test object during the discharge portion of the current test step, in ampere hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the time integral of the negated negative part of current over the step. Equivalent to the step-level discharge capacity reported by some instruments (e.g. BioLogic EC-Lab Q discharge), which reset at each step boundary."@en ;
    skos:notation "step_discharging_capacity_ah" ;
    skos:prefLabel "Step Discharging Capacity / Ah"@en ;
    prov:wasDerivedFrom :current_ampere,
        :step_time_second ;
    schema:description "Electric charge transferred out of the test object during the discharge portion of the current test step, in ampere hour. Non-negative; resets to zero at each step transition."@en ;
    schema:measurementTechnique "Time integral of the negated negative part of current over the duration of the current test step."@en ;
    schema:name "Step Discharging Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    :latexFormula "Q_\\mathrm{dchg}^\\mathrm{step}(t) = \\frac{1}{3600}\\int_{t_s}^{t} \\max\\!\\bigl(-I(\\tau),\\,0\\bigr)\\,\\mathrm{d}\\tau,\\quad t_s = \\text{start of the current step}"^^xsd:string ;
    :latexSymbol "Q_\\mathrm{dchg}^\\mathrm{step}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Electric charge transferred out of the test object during the discharge portion of the current test step, in ampere hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the time integral of the negated negative part of current over the step. Equivalent to the step-level discharge capacity reported by some instruments (e.g. BioLogic EC-Lab Q discharge), which reset at each step boundary."@en .

:step_discharging_energy_wh a owl:Class ;
    rdfs:label "Step Discharging Energy / Wh"@en ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Energy transferred out of the test object during the discharge portion of the current test step, in watt hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the negated time integral of instantaneous power over the discharge intervals (current < 0) of the step."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_ca36cbf3_1fed_4b88_9177_b4e16ad00cf7 ;
    skos:altLabel "step_discharge_energy_wh"@en,
        "step_discharging_energy_watt_hour"@en,
        "step_discharging_energy_wh"@en ;
    skos:definition "Energy transferred out of the test object during the discharge portion of the current test step, in watt hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the negated time integral of instantaneous power over the discharge intervals (current < 0) of the step."@en ;
    skos:notation "step_discharging_energy_wh" ;
    skos:prefLabel "Step Discharging Energy / Wh"@en ;
    prov:wasDerivedFrom :power_watt,
        :step_time_second ;
    schema:description "Energy transferred out of the test object during the discharge portion of the current test step, in watt hour. Non-negative; resets to zero at each step transition."@en ;
    schema:measurementTechnique "Negated time integral of instantaneous power over the discharge intervals (current < 0) of the current test step."@en ;
    schema:name "Step Discharging Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    :latexFormula "E_\\mathrm{dchg}^\\mathrm{step}(t) = \\frac{1}{3600}\\int_{t_s}^{t} -P(\\tau)\\,\\bigl[I(\\tau) < 0\\bigr]\\,\\mathrm{d}\\tau,\\quad t_s = \\text{start of the current step},\\quad [\\cdot] = \\text{1 if true, 0 otherwise}"^^xsd:string ;
    :latexSymbol "E_\\mathrm{dchg}^\\mathrm{step}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Energy transferred out of the test object during the discharge portion of the current test step, in watt hour. Non-negative (≥ 0); resets to zero at each step transition. Where computed, it is the negated time integral of instantaneous power over the discharge intervals (current < 0) of the step."@en .

:step_record_index a owl:Class ;
    rdfs:label "Step Record Index / 1"@en ;
    qudt:hasQuantityKind quantitykind:Count ;
    rdfs:comment "1-based positional counter for data points within a step. Resets to 1 at the start of each new step and increments by 1 for each subsequent recorded data point. Always derivable from the data; not typically exported directly by cycler software. This is the within-step data-point counter, not the program step identifier: an instrument column named 'Step Index' (e.g. Arbin Step_Index) maps to step_id, not to this property."@en ;
    rdfs:seeAlso unit:NUM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:EMMO_5ebd5e01_0ed3_49a2_a30d_cd05cbe72978 ],
        sosa:ObservableProperty,
        emmo:EMMO_0cd58641_824c_4851_907f_f4c3be76630c ;
    skos:altLabel "step_index"@en,
        "step_record_index"@en,
        "step_record_index_1"@en ;
    skos:definition "1-based positional counter for data points within a step. Resets to 1 at the start of each new step and increments by 1 for each subsequent recorded data point. Always derivable from the data; not typically exported directly by cycler software. This is the within-step data-point counter, not the program step identifier: an instrument column named 'Step Index' (e.g. Arbin Step_Index) maps to step_id, not to this property."@en ;
    skos:historyNote "Introduced in 1.3.0 (2026-07-17) as the new name of step_index, which is deprecated and redirects here via dcterms:isReplacedBy; the concept is unchanged."@en ;
    skos:notation "step_record_index" ;
    skos:prefLabel "Step Record Index / 1"@en ;
    schema:description "1-based positional counter for data points within a step. Resets to 1 at the start of each new step and increments by 1 for each subsequent recorded data point. Always derivable from the data; not typically exported directly by cycler software. This is the within-step data-point counter, not the program step identifier: an instrument column named 'Step Index' (e.g. Arbin Step_Index) maps to step_id, not to this property."@en ;
    schema:name "Step Record Index / 1"@en ;
    schema:unitCode "1" ;
    schema:unitText "one"@en ;
    :latexSymbol "j"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "1-based positional counter for data points within a step. Resets to 1 at the start of each new step and increments by 1 for each subsequent recorded data point. Always derivable from the data; not typically exported directly by cycler software. This is the within-step data-point counter, not the program step identifier: an instrument column named 'Step Index' (e.g. Arbin Step_Index) maps to step_id, not to this property."@en .

:unix_time_second a owl:Class ;
    rdfs:label "Unix Time / s"@en ;
    qudt:hasQuantityKind quantitykind:Time ;
    rdfs:comment "Timestamp expressed as Unix time, in second: seconds elapsed since 1970-01-01T00:00:00 UTC (the Unix epoch), excluding leap seconds. The value identifies an absolute instant and is independent of local time zone: the same physical moment has the same value everywhere, and local wall-clock times must be converted to UTC before encoding."@en ;
    rdfs:seeAlso unit:SEC ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Second ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_27b3799c_250c_4332_8b71_7992c4a7bb05 ;
    skos:altLabel "unix_time_s"@en,
        "unix_time_second"@en ;
    skos:definition "Timestamp expressed as Unix time, in second: seconds elapsed since 1970-01-01T00:00:00 UTC (the Unix epoch), excluding leap seconds. The value identifies an absolute instant and is independent of local time zone: the same physical moment has the same value everywhere, and local wall-clock times must be converted to UTC before encoding."@en ;
    skos:notation "unix_time_second" ;
    skos:prefLabel "Unix Time / s"@en ;
    skos:scopeNote "A common conversion error is computing seconds since the epoch from a naive local wall-clock timestamp as if it were UTC, which shifts all values by the local UTC offset (including daylight-saving changes mid-test). Instruments that log local time must have their timestamps converted to UTC, not reinterpreted."@en ;
    schema:description "Timestamp expressed as Unix time, in second: seconds elapsed since 1970-01-01T00:00:00 UTC (the Unix epoch), excluding leap seconds. The value identifies an absolute instant and is independent of local time zone: the same physical moment has the same value everywhere, and local wall-clock times must be converted to UTC before encoding."@en ;
    schema:name "Unix Time / s"@en ;
    schema:unitCode "s" ;
    schema:unitText "second"@en ;
    :latexSymbol "t_\\mathrm{unix}"^^xsd:string ;
    :obligation "recommended" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Timestamp expressed as Unix time, in second: seconds elapsed since 1970-01-01T00:00:00 UTC (the Unix epoch), excluding leap seconds. The value identifies an absolute instant and is independent of local time zone: the same physical moment has the same value everywhere, and local wall-clock times must be converted to UTC before encoding."@en .

:voltage_volt a owl:Class ;
    rdfs:label "Voltage / V"@en ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    rdfs:comment "Instantaneous voltage measured across the terminals of the test object, in volt."@en ;
    rdfs:seeAlso unit:V ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Volt ],
        sosa:ObservableProperty,
        emmo:EMMO_17b031fb_4695_49b6_bb69_189ec63df3ee ;
    skos:altLabel "voltage_v"@en,
        "voltage_volt"@en ;
    skos:definition "Instantaneous voltage measured across the terminals of the test object, in volt."@en ;
    skos:notation "voltage_volt" ;
    skos:prefLabel "Voltage / V"@en ;
    schema:description "Instantaneous voltage measured across the terminals of the test object, in volt."@en ;
    schema:name "Voltage / V"@en ;
    schema:unitCode "V" ;
    schema:unitText "volt"@en ;
    :latexSymbol "V"^^xsd:string ;
    :obligation "required" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Instantaneous voltage measured across the terminals of the test object, in volt."@en .

emmo:Ampere a owl:Class .

emmo:Volt a owl:Class .

:imaginary_impedance_ohm a owl:Class ;
    rdfs:label "Imaginary Impedance / ohm"@en ;
    qudt:hasQuantityKind quantitykind:Impedance ;
    rdfs:comment "The imaginary (reactive) component of the complex impedance, in ohm, as reported with the standard electrotechnical sign convention: negative for predominantly capacitive behaviour. Note that Nyquist plots in electrochemistry conventionally display the negated value on the vertical axis."@en ;
    rdfs:seeAlso unit:OHM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Ohm ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_0089729b_5890_4c15_aa09_1244d41f8626 ;
    skos:altLabel "imaginary_impedance_ohm"@en ;
    skos:definition "The imaginary (reactive) component of the complex impedance, in ohm, as reported with the standard electrotechnical sign convention: negative for predominantly capacitive behaviour. Note that Nyquist plots in electrochemistry conventionally display the negated value on the vertical axis."@en ;
    skos:notation "imaginary_impedance_ohm"@en ;
    skos:prefLabel "Imaginary Impedance / ohm"@en ;
    schema:description "The imaginary (reactive) component of the complex impedance, in ohm. Sign as reported: negative for predominantly capacitive behaviour."@en ;
    schema:name "Imaginary Impedance / ohm"@en ;
    schema:unitCode "Ohm" ;
    schema:unitText "ohm"@en ;
    :latexSymbol "Z''"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "The imaginary (reactive) component of the complex impedance, in ohm, as reported with the standard electrotechnical sign convention: negative for predominantly capacitive behaviour. Note that Nyquist plots in electrochemistry conventionally display the negated value on the vertical axis."@en .

:internal_resistance_ohm a owl:Class ;
    rdfs:label "Internal Resistance / ohm"@en ;
    qudt:hasQuantityKind quantitykind:ElectricResistance ;
    rdfs:comment "Internal resistance of the test object, in ohm, as reported by the instrument; the determination method is unspecified. Where the determination method is known, use the more specific dc_internal_resistance_ohm or ac_internal_resistance_ohm."@en ;
    rdfs:seeAlso unit:OHM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Ohm ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_f94678d6_1386_48fc_8e54_024921924401 ;
    skos:altLabel "internal_resistance_ohm"@en ;
    skos:definition "Internal resistance of the test object, in ohm, as reported by the instrument; the determination method is unspecified. Where the determination method is known, use the more specific dc_internal_resistance_ohm or ac_internal_resistance_ohm."@en ;
    skos:hiddenLabel "Internal Resistance / Ohm"@en ;
    skos:notation "internal_resistance_ohm" ;
    skos:prefLabel "Internal Resistance / ohm"@en ;
    schema:description "Internal resistance of the test object, in ohm, as reported by the instrument; the determination method is unspecified. Where the determination method is known, use the more specific dc_internal_resistance_ohm or ac_internal_resistance_ohm."@en ;
    schema:name "Internal Resistance / ohm"@en ;
    schema:unitCode "Ohm" ;
    schema:unitText "ohm"@en ;
    :latexSymbol "R_\\mathrm{int}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Internal resistance of the test object, in ohm, as reported by the instrument; the determination method is unspecified. Where the determination method is known, use the more specific dc_internal_resistance_ohm or ac_internal_resistance_ohm."@en .

:real_impedance_ohm a owl:Class ;
    rdfs:label "Real Impedance / ohm"@en ;
    qudt:hasQuantityKind quantitykind:Impedance ;
    rdfs:comment "The real (resistive) component of the complex impedance, in ohm."@en ;
    rdfs:seeAlso unit:OHM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Ohm ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_abf986d2_90d5_4746_b42b_89dc7cc1bf0f ;
    skos:altLabel "real_impedance_ohm"@en ;
    skos:definition "The real (resistive) component of the complex impedance, in ohm."@en ;
    skos:notation "real_impedance_ohm"@en ;
    skos:prefLabel "Real Impedance / ohm"@en ;
    schema:description "The real (resistive) component of the complex impedance, in ohm."@en ;
    schema:name "Real Impedance / ohm"@en ;
    schema:unitCode "Ohm" ;
    schema:unitText "ohm"@en ;
    :latexSymbol "Z'"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "The real (resistive) component of the complex impedance, in ohm."@en .

:step_capacity_ah a owl:Class ;
    rdfs:label "Step Capacity / Ah"@en ;
    dcterms:isReplacedBy :step_cumulative_capacity_ah ;
    qudt:hasQuantityKind quantitykind:ElectricCharge ;
    rdfs:comment "Running accumulation of charge throughput within the current test step, in ampere hour. Monotonically non-decreasing within the step; resets to zero at each step transition."@en,
        "Running accumulation of charge throughput within the current test step, in ampere hour: the time integral of the absolute current from the step start, monotonically non-decreasing within the step and reset to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value."@en ;
    rdfs:seeAlso unit:A-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:AmpereHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_ae108db7_8765_4329_9908_059277dee586 ;
    owl:deprecated true ;
    skos:altLabel "step_capacity_ah"@en,
        "step_capacity_ampere_hour"@en ;
    skos:definition "Running accumulation of charge throughput within the current test step, in ampere hour: the time integral of the absolute current from the step start, monotonically non-decreasing within the step and reset to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value."@en ;
    skos:historyNote "Deprecated in 1.1.0 (2026-06-08). Renamed to step_cumulative_capacity_ah for consistency with the {charging, discharging, net, cumulative} convention; the concept is unchanged."@en ;
    skos:notation "step_capacity_ah" ;
    skos:prefLabel "Step Capacity / Ah"@en ;
    schema:description "Running accumulation of charge throughput within the current test step, in ampere hour. Monotonically non-decreasing within the step; resets to zero at each step transition."@en ;
    schema:name "Step Capacity / Ah"@en ;
    schema:unitCode "A.h" ;
    schema:unitText "ampere hour"@en ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Running accumulation of charge throughput within the current test step, in ampere hour. Monotonically non-decreasing within the step; resets to zero at each step transition."@en .

:step_energy_wh a owl:Class ;
    rdfs:label "Step Energy / Wh"@en ;
    dcterms:isReplacedBy :step_cumulative_energy_wh ;
    qudt:hasQuantityKind quantitykind:Energy ;
    rdfs:comment "Running accumulation of energy throughput within the current test step, in watt hour. Monotonically non-decreasing within the step; resets to zero at each step transition."@en,
        "Running accumulation of energy throughput within the current test step, in watt hour: the time integral of the current-signed instantaneous power (P times the sign of I) from the step start, monotonically non-decreasing within the step and reset to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value."@en ;
    rdfs:seeAlso unit:W-HR ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:WattHour ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_46376e5d_9627_4514_9881_9e62083625c3 ;
    owl:deprecated true ;
    skos:altLabel "step_energy_watt_hour"@en,
        "step_energy_wh"@en ;
    skos:definition "Running accumulation of energy throughput within the current test step, in watt hour: the time integral of the current-signed instantaneous power (P times the sign of I) from the step start, monotonically non-decreasing within the step and reset to zero at each step transition. The direction of transfer is indicated by step_type or the sign of current_ampere, not by this value."@en ;
    skos:historyNote "Deprecated in 1.1.0 (2026-06-08). Renamed to step_cumulative_energy_wh for consistency with the {charging, discharging, net, cumulative} convention; the concept is unchanged."@en ;
    skos:notation "step_energy_wh" ;
    skos:prefLabel "Step Energy / Wh"@en ;
    schema:description "Running accumulation of energy throughput within the current test step, in watt hour. Monotonically non-decreasing within the step; resets to zero at each step transition."@en ;
    schema:name "Step Energy / Wh"@en ;
    schema:unitCode "W.h" ;
    schema:unitText "watt hour"@en ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Running accumulation of energy throughput within the current test step, in watt hour. Monotonically non-decreasing within the step; resets to zero at each step transition."@en .

emmo:MilliSecond a owl:Class .

emmo:Second a owl:Class .

:cycle_count a owl:Class ;
    rdfs:label "Cycle Count / 1"@en ;
    qudt:hasQuantityKind quantitykind:Count ;
    rdfs:comment "Cycle index used to segregate time-series data into quasi-periodic subsets, typically tracking performance evolution over aging. Must be a non-negative integer and monotonically non-decreasing within a test. No constraint is placed on the starting value: 0, 1, or any other non-negative integer are all valid. The starting value is instrument-defined and must be preserved as reported; converters must not renumber cycles."@en ;
    rdfs:seeAlso unit:NUM ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:EMMO_5ebd5e01_0ed3_49a2_a30d_cd05cbe72978 ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_5766a819_c319_48ba_ab9a_ce3bd8fedee8 ;
    skos:altLabel "cycle_count"@en,
        "cycle_count_1"@en,
        "cycle_dimensionless"@en ;
    skos:definition "Cycle index used to segregate time-series data into quasi-periodic subsets, typically tracking performance evolution over aging. Must be a non-negative integer and monotonically non-decreasing within a test. No constraint is placed on the starting value: 0, 1, or any other non-negative integer are all valid. The starting value is instrument-defined and must be preserved as reported; converters must not renumber cycles."@en ;
    skos:notation "cycle_count" ;
    skos:prefLabel "Cycle Count / 1"@en ;
    schema:description "Cycle index, non-negative integer, monotonically non-decreasing within a test. Starting value is instrument-defined (any non-negative integer); converters must not renumber cycles."@en ;
    schema:name "Cycle Count / 1"@en ;
    schema:unitCode "1" ;
    schema:unitText "one"@en ;
    :latexSymbol "n"^^xsd:string ;
    :obligation "recommended" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Cycle index used to segregate time-series data into quasi-periodic subsets, typically tracking performance evolution over aging. Must be a non-negative integer and monotonically non-decreasing within a test. No constraint is placed on the starting value: 0, 1, or any other non-negative integer are all valid. The starting value is instrument-defined and must be preserved as reported; converters must not renumber cycles."@en .

:step_time_second a owl:Class ;
    rdfs:label "Step Time / s"@en ;
    qudt:hasQuantityKind quantitykind:Time ;
    rdfs:comment "Elapsed time since the beginning of the active test step, in second; resets to zero at each step transition."@en ;
    rdfs:seeAlso unit:SEC ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Second ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_80ca00f8_c891_4493_87a2_7d39b9d1e098 ;
    skos:altLabel "step_time_second"@en ;
    skos:definition "Elapsed time since the beginning of the active test step, in second; resets to zero at each step transition."@en ;
    skos:notation "step_time_second"@en ;
    skos:prefLabel "Step Time / s"@en ;
    schema:description "Elapsed time since the beginning of the active test step, in second; resets to zero at each step transition."@en ;
    schema:name "Step Time / s"@en ;
    schema:unitCode "s" ;
    schema:unitText "second"@en ;
    :latexSymbol "\\Delta t_\\mathrm{step}"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Elapsed time since the beginning of the active test step, in second; resets to zero at each step transition."@en .

emmo:Ohm a owl:Class .

emmo:DegreeCelsius a owl:Class .

:power_watt a owl:Class ;
    rdfs:label "Power / W"@en ;
    qudt:hasQuantityKind quantitykind:Power ;
    rdfs:comment "Instantaneous power calculated as the product of voltage and current, in watt."@en ;
    rdfs:seeAlso unit:W ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Watt ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_5973f91a_fa6b_49c9_ba46_3ecc1c2253d2 ;
    skos:altLabel "power_w"@en,
        "power_watt"@en ;
    skos:definition "Instantaneous power calculated as the product of voltage and current, in watt."@en ;
    skos:notation "power_watt" ;
    skos:prefLabel "Power / W"@en ;
    prov:wasDerivedFrom :current_ampere,
        :voltage_volt ;
    schema:description "Instantaneous power calculated as the product of voltage and current, in watt."@en ;
    schema:measurementTechnique "Calculated as the product of instantaneous voltage and current (P = V × I)."@en ;
    schema:name "Power / W"@en ;
    schema:unitCode "W" ;
    schema:unitText "watt"@en ;
    :latexFormula "P(t) = V(t)\\,I(t)"^^xsd:string ;
    :latexSymbol "P"^^xsd:string ;
    :obligation "optional" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Instantaneous power calculated as the product of voltage and current, in watt."@en .

:test_time_second a owl:Class ;
    rdfs:label "Test Time / s"@en ;
    qudt:hasQuantityKind quantitykind:Time ;
    rdfs:comment "Elapsed time since the start of the test, in second. Monotonically non-decreasing within a test; behaviour during pauses is instrument-defined and values must be preserved as reported."@en ;
    rdfs:seeAlso unit:SEC ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Second ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_27b3799c_250c_4332_8b71_7992c4a7bb05 ;
    skos:altLabel "test_time_s"@en,
        "test_time_second"@en ;
    skos:definition "Elapsed time since the start of the test, in second. Monotonically non-decreasing within a test; behaviour during pauses is instrument-defined and values must be preserved as reported."@en ;
    skos:notation "test_time_second" ;
    skos:prefLabel "Test Time / s"@en ;
    schema:description "Elapsed time since the start of the test, in second. Monotonically non-decreasing within a test; behaviour during pauses is instrument-defined and values must be preserved as reported."@en ;
    schema:name "Test Time / s"@en ;
    schema:unitCode "s" ;
    schema:unitText "second"@en ;
    :latexSymbol "t"^^xsd:string ;
    :obligation "required" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Elapsed time since the start of the test, in second. Monotonically non-decreasing within a test; behaviour during pauses is instrument-defined and values must be preserved as reported."@en .

:current_ampere a owl:Class ;
    rdfs:label "Current / A"@en ;
    qudt:hasQuantityKind quantitykind:ElectricCurrent ;
    rdfs:comment "Instantaneous current flowing through the test object, in ampere. Sign convention: positive current charges the test object (current flows into it) and negative current discharges it; the charging and discharging capacity and energy quantities are defined by this convention."@en ;
    rdfs:seeAlso unit:A ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty emmo:EMMO_bed1d005_b04e_4a90_94cf_02bc678a8569 ;
            owl:someValuesFrom emmo:Ampere ],
        sosa:ObservableProperty,
        electrochemistry:electrochemistry_a24f8581_a5a4_41a4_bb45_d0fdd5c0d810 ;
    skos:altLabel "current_a"@en,
        "current_ampere"@en ;
    skos:definition "Instantaneous current flowing through the test object, in ampere. Sign convention: positive current charges the test object (current flows into it) and negative current discharges it; the charging and discharging capacity and energy quantities are defined by this convention."@en ;
    skos:notation "current_ampere" ;
    skos:prefLabel "Current / A"@en ;
    schema:description "Instantaneous current flowing through the test object, in ampere. Sign convention: positive current charges the test object (current flows into it) and negative current discharges it; the charging and discharging capacity and energy quantities are defined by this convention."@en ;
    schema:name "Current / A"@en ;
    schema:unitCode "A" ;
    schema:unitText "ampere"@en ;
    :latexSymbol "I"^^xsd:string ;
    :obligation "required" ;
    emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Instantaneous current flowing through the test object, in ampere. Sign convention: positive current charges the test object (current flows into it) and negative current discharges it; the charging and discharging capacity and energy quantities are defined by this convention."@en .

emmo:AmpereHour a owl:Class .

emmo:WattHour a owl:Class .

sosa:ObservableProperty a owl:Class .

