500 mL equals 0.5 L, but 500 W cannot be converted into litres. Net and packed weight can both be measured in kilograms yet serve different decisions. Product-fact governance must preserve value, dimension, attribute and applicability, not just standardize symbols.
Identify the measured attribute first
A useful field includes entity ID, attribute ID, original string, unit, parsed value, configuration, conditions, source location and version. Charger input, battery nominal voltage and motor operating voltage are different attributes even though all may use volts.
| Attribute | Normalizable expression | Conditions still required |
|---|---|---|
| Volume | 500 mL and 0.5 L | Tank type; usable or nominal capacity |
| Power | 1500 W and 1.5 kW | Rated, peak or whole-system value |
| Length | 3000 mm and 3 m | Cable length or working width |
| Mass | Consistent mass unit | Net, packed and configuration |
| Duration | Equivalent time unit | Load, environment and method |
Execute decimal conversions
controls.py uses Decimal and validates the dimension before conversion. Its allowlist covers mL/L, W/kW and mm/m only. Unsupported units fail rather than being guessed.
normalize_unit("500", "mL", "volume")
# original_value: "500", original_unit: "mL"
# normalized_value: "0.500", normalized_unit: "L"
normalize_unit("1500", "W", "power")
# normalized_value: "1.500", normalized_unit: "kW"
Trailing zeros reflect decimal representation, not newly established measurement precision. The units section of the execution record retains the actual output. Consult the NIST SI guide for unit conventions; attribute meaning and conditions still require source documentation.
Reject ambiguous transcription
| Input | Teaching implementation | Reason |
|---|---|---|
| 500 mL, volume | Accept and retain both forms | Numeric value and dimension are clear |
| 500 W, volume | Reject | Power is not volume |
| 5O0 mL | Reject | Letter O must not silently become zero |
| NaN or Infinity | Reject | Not usable measured quantities |
| Unit outside the allowlist | Reject for review | No approved conversion rule |
Negative values depend on the attribute. Temperature may be negative, but this program handles only the listed nonnegative quantities. Do not generalize its rule to every scientific measurement. Temperature conversions also involve offsets and cannot use a ratio-only implementation.
Validate conditions independently
Changing “four hours without load” to “four working hours” broadens a claim even when the time unit remains correct. Runtime comparisons require matching load, environment, operating mode and cutoff definition. An absent condition cannot be assumed to match another record.
The teaching corpus gives EV-1 a net weight of 8 kg and a packed weight of 10 kg. Freight uses the latter. Neither value corrects the other; they need different attribute IDs. For configurable products, include configuration in the fact key rather than overwriting every version with the newest date.
Resolve conflicts through evidence
When sources report 20 L and 18 L, first check nominal versus usable capacity, regional variants and configuration. Equal normalized values can resolve a representation difference. Unequal values do not establish that the newer source is correct.
Keep both originals, the conversion-rule version, attribute-equivalence decision, applicable evidence and adjudication reason. Without adequate evidence, retain uncertainty instead of choosing the larger number. Approved corrections must propagate to Chinese and English text, structured data and dependent tables.
What Zhihe Growth should deliver
For cleaning equipment, tools and other exporter documentation, Zhihe Growth should provide traceable fields and exceptions rather than a generic “data cleaned” status. Customers can sample original evidence, normalized values and conditions. This is a transferable documentation method related to the public ELEREIN case, but all AX and EV values here are synthetic, not customer specifications.
Continue with PDF extraction, terminology protection and SSOT mapping. The technical FAQ gives short answers, and the advanced package includes executable controls and tests. Unit consistency is a necessary check, not certification of product suitability or a citation guarantee.