Properties and units#
Every quantity you author — {"value": 5.0, "unit": "Ah"} under a
properties key — is mapped to an EMMO class, and every unit symbol to a
unit IRI, by the curated mapping tables under
assets/mappings/domain-battery/ — the single source of truth for the
semantics of emitted JSON-LD. This page is generated from those tables.
Properties (109)#
A quantity given as a range keeps both bounds, as schema:minValue and
schema:maxValue on its EMMO node. Where the class names a bound (the
Bound column below), that bound given alone is also the quantity’s number:
a max_value of 10 A under pulse_charging_current is a
MaximumPulseChargingCurrent of 10 A. Any other range has no single number.
The keys of quantities in properties={...} on a cell spec and in the
property blocks of material and component records, and the EMMO class
each becomes in JSON-LD:
Key |
EMMO class |
Bound |
|---|---|---|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
max |
|
|
||
|
max |
|
|
min |
|
|
||
|
||
|
||
|
||
|
max |
|
|
max |
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
min |
|
|
||
|
max |
|
|
min |
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
max |
|
|
max |
|
|
max |
|
|
max |
|
|
max |
|
|
max |
|
|
max |
|
|
max |
|
|
max |
|
|
min |
|
|
min |
|
|
min |
|
|
min |
|
|
min |
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
max |
|
|
min |
|
|
||
|
||
|
||
|
max |
|
|
||
|
||
|
||
|
max |
|
|
max |
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
max |
|
|
min |
|
|
max |
|
|
min |
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
max |
|
|
||
|
||
|
||
|
Parameter-set keys (9)#
Keys for parameter-set claims about a whole cell or its state, most of
them the Cell and State values of a BPX file, which stay on the file’s
parameter-set record. A cell spec does not accept them as properties. A
key with no EMMO class yet is typed by its value basis alone, and
validation warns semantic.property_unmapped.
Key |
Unit |
EMMO class |
|---|---|---|
|
|
none yet |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Units (76)#
Every percent spelling (%, percent, pct, wt%, wt.%, vol%,
vol.%, v/v%) is the unit PercentUnit. A spelling that states a basis
keeps it as an extra class of the quantity: WeightPercent for wt% and
wt.%, VolumePercent for vol%, vol.% and v/v%. On porosity,
mass_fraction and volume_fraction a percent in any spelling is
published as a fraction of 1 with UnitOne. A basis that contradicts the
key (vol% on a mass fraction, wt% on a volume fraction or a porosity)
gets the warning semantic.percent_basis_mismatch.
The unit symbols accepted in quantity dicts, and the unit IRI each maps to (EMMO where a term exists, QUDT as the documented fallback).
Validation and the JSON-LD export read the usual alternative spellings as the listed symbol: um as µm, mOhm as mΩ, degC and ℃ as °C, g/cm³ as g/cm3. Case is kept, because it can change magnitude: mV is a millivolt and MV a megavolt. A unit that is none of these is written as text (schema:unitText) only, and validation warns semantic.unit_unmapped.
Symbol |
Unit |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Chemistry labels (33)#
The recognised values of chemistry on a cell spec. A label names the
electrochemical couple and nothing else. Whether the cell is rechargeable
goes in rechargeable, and the electrode materials of a Li-ion cell go
in positive_electrode_basis and negative_electrode_basis.
Some labels are narrower than others: a li-mno2 cell is also a
li-metal cell. State the narrowest one you know. Matching ignores case,
so Li-ion and li-ion are the same label. A value that is not listed is
kept as plain text and the record gets no battery class from it.
The chemistry decides the battery classes. An electrode basis adds its
class only where the class fits the chemistry: graphite, lto and the
lithium-ion positives add theirs to a li-ion cell, a lithium negative
adds LithiumMetalBattery to li-metal and the labels under it, and mno2
adds LithiumManganeseDioxideBattery to li-mno2 and li-metal. So an
alkaline cell with an MnO2 positive stays an alkaline zinc cell. A
chemistry that is not listed gets no class from its electrodes either,
with one exception: a full cell with an mno2 positive and a lithium
negative is a LithiumManganeseDioxideBattery whatever its chemistry text.
Some couples are defined by their negative electrode: li-metal and the
labels under it have a lithium negative; zn-mno2, zn-air, zn-hgo,
ni-zn and zn-br-flow and the labels under them have a zinc negative. A
full cell with one of those negatives needs one of those chemistries.
Validation reports a record that breaks either rule as
semantic.chemistry_electrode_conflict, an error under the strict and
publisher policies. A half cell or a three-electrode cell may use lithium
as its counter electrode under any chemistry.
Label |
Narrower than |
Battery class |
|---|---|---|
|
||
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
||
|
||
|
||
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Older spellings that still resolve. Validation flags them with the label to use instead:
Older label |
Use |
Why |
|---|---|---|
|
|
Rechargeability is not a chemistry. Write li-metal (or the specific system, e.g. li-mno2) and set rechargeable to false. |
|
|
Alkaline names an electrolyte; several couples use one. Write alkaline-zn-mno2. |
|
|
Spelling variant. Write zn-mno2. |
Unknown keys and symbols are refused, not guessed — see the validation contract for how mapping gaps surface as machine-readable issues.