QuantityValue¶
A number with a unit, optionally with its standard uncertainty. It is the base schema every other quantity in this module extends.
- module:
quantities0.2.0 - module version: 0.1 · 0.2 · dev
- extended by: ElectricCurrent, Length, MassFraction, Time, Voltage
- schema file:
/quantities/0.2/QuantityValue.schema.json - earlier versions: 0.1.0
| Term | Constraints | Consensus mapping | Alternative mappings |
|---|---|---|---|
type | array, default ["QuantityValue"] | @type | - |
"QuantityValue" | type alias | qudt:Quantity value |
|
value * | number | qudt:value | |
unit | string, format iri-reference | qudt:has unit |
|
standard_uncertaintyStandard uncertainty, expressed in the unit of value (GUM convention) | number | qudt:standard uncertainty |
|
relative_standard_uncertaintyDimensionless ratio, not percent; ratio-scale quantities only, undefined at value 0; redundant with standard_uncertainty (u = r * |v|), give only one | number | qudt:relative standard uncertainty | - |
* marks a required property.
{
"$schema": "https://oo-ld.org/latest/meta/oold-meta-schema.json",
"$id": "QuantityValue.schema.json",
"x-oold-uuid": "0d241e1a-9bf9-5441-81ff-5313948143c0",
"x-oold-version": "0.1.0",
"title": "QuantityValue",
"examples": [
{
"type": [
"QuantityValue"
],
"value": 12.7,
"unit": "http://qudt.org/vocab/unit/SEC",
"standard_uncertainty": 0.05
}
],
"type": "object",
"properties": {
"type": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"QuantityValue"
]
},
"value": {
"type": "number"
},
"unit": {
"type": "string",
"format": "iri-reference"
},
"standard_uncertainty": {
"type": "number",
"description": "Standard uncertainty, expressed in the unit of value (GUM convention)"
},
"relative_standard_uncertainty": {
"type": "number",
"description": "Dimensionless ratio, not percent; ratio-scale quantities only, undefined at value 0; redundant with standard_uncertainty (u = r * |v|), give only one"
}
},
"required": [
"value"
],
"@context": {
"@version": 1.1,
"qudt": "http://qudt.org/schema/qudt/",
"qunit": "http://qudt.org/vocab/unit/",
"schema": "http://schema.org/",
"obo": "http://purl.obolibrary.org/obo/",
"emmo": "https://w3id.org/emmo#",
"type": {
"@id": "@type",
"@container": "@set"
},
"QuantityValue": "qudt:QuantityValue",
"value": "qudt:value",
"unit": {
"@id": "qudt:hasUnit",
"@type": "@vocab"
},
"standard_uncertainty": "qudt:standardUncertainty",
"relative_standard_uncertainty": "qudt:relativeStandardUncertainty"
},
"x-oold-context": {
"value": {
"schema:value": {
"x-oold-sssom": {
"predicate_id": "skos:exactMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/schemaorg.sssom.tsv"
}
},
"obo:OBI_0001937": {
"x-oold-sssom": {
"predicate_id": "skos:exactMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv"
}
}
},
"unit": {
"schema:unitCode": {
"@type": "@vocab",
"x-oold-sssom": {
"predicate_id": "skos:exactMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/schemaorg.sssom.tsv",
"comment": "URL branch of schema:unitCode, carrying the QUDT unit IRI"
}
},
"obo:IAO_0000039": {
"@type": "@vocab",
"x-oold-sssom": {
"predicate_id": "skos:closeMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv",
"comment": "range is iao:measurement unit label; unit-label vs QUDT-IRI mapping needed"
}
},
"emmo:EMMO_eeb06032_dd4f_476e_9da6_aa24302b7588": {
"@type": "@vocab",
"x-oold-sssom": {
"predicate_id": "skos:exactMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv",
"object_source": "https://w3id.org/emmo",
"object_source_version": "https://w3id.org/emmo/1.0.4",
"comment": "hasReferencePart; pinned 1.0.4 branch snapshot (units are individuals there)"
}
}
},
"standard_uncertainty": {
"emmo:EMMO_bba7f0f0_3707_42b9_b3fa_fd04610ef147": {
"x-oold-sssom": {
"predicate_id": "skos:exactMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv",
"object_source_version": "https://w3id.org/emmo/1.0.4",
"comment": "standardUncertainty (VIM4 3.6); 1.0.4 branch only"
}
}
},
"QuantityValue": {
"schema:QuantitativeValue": {
"x-oold-sssom": {
"predicate_id": "skos:closeMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/schemaorg.sssom.tsv",
"comment": "broader: also covers intervals/ranges"
}
},
"obo:OBI_0001931": {
"x-oold-sssom": {
"predicate_id": "skos:exactMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv"
}
},
"emmo:EMMO_f658c301_ce93_46cf_9639_4eace2c5d1d5": {
"x-oold-sssom": {
"predicate_id": "skos:closeMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv",
"comment": "EMMO QuantityValue requires a nested numerical part (EMMO#376)"
}
}
}
}
}
$schema: https://oo-ld.org/latest/meta/oold-meta-schema.json
$id: QuantityValue.schema.json
x-oold-uuid: 0d241e1a-9bf9-5441-81ff-5313948143c0
x-oold-version: 0.1.0
title: QuantityValue
examples:
- type:
- QuantityValue
value: 12.7
unit: http://qudt.org/vocab/unit/SEC
standard_uncertainty: 0.05
type: object
properties:
type:
type: array
items:
type: string
default:
- QuantityValue
value:
type: number
unit:
type: string
format: iri-reference
standard_uncertainty:
type: number
description: Standard uncertainty, expressed in the unit of value (GUM convention)
relative_standard_uncertainty:
type: number
description: Dimensionless ratio, not percent; ratio-scale quantities only, undefined at value 0;
redundant with standard_uncertainty (u = r * |v|), give only one
required:
- value
'@context':
'@version': 1.1
qudt: http://qudt.org/schema/qudt/
qunit: http://qudt.org/vocab/unit/
schema: http://schema.org/
obo: http://purl.obolibrary.org/obo/
emmo: https://w3id.org/emmo#
type:
'@id': '@type'
'@container': '@set'
QuantityValue: qudt:QuantityValue
value: qudt:value
unit:
'@id': qudt:hasUnit
'@type': '@vocab'
standard_uncertainty: qudt:standardUncertainty
relative_standard_uncertainty: qudt:relativeStandardUncertainty
x-oold-context:
value:
schema:value:
x-oold-sssom:
predicate_id: skos:exactMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/schemaorg.sssom.tsv
obo:OBI_0001937:
x-oold-sssom:
predicate_id: skos:exactMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
unit:
schema:unitCode:
'@type': '@vocab'
x-oold-sssom:
predicate_id: skos:exactMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/schemaorg.sssom.tsv
comment: URL branch of schema:unitCode, carrying the QUDT unit IRI
obo:IAO_0000039:
'@type': '@vocab'
x-oold-sssom:
predicate_id: skos:closeMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
comment: range is iao:measurement unit label; unit-label vs QUDT-IRI mapping needed
emmo:EMMO_eeb06032_dd4f_476e_9da6_aa24302b7588:
'@type': '@vocab'
x-oold-sssom:
predicate_id: skos:exactMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv
object_source: https://w3id.org/emmo
object_source_version: https://w3id.org/emmo/1.0.4
comment: hasReferencePart; pinned 1.0.4 branch snapshot (units are individuals there)
standard_uncertainty:
emmo:EMMO_bba7f0f0_3707_42b9_b3fa_fd04610ef147:
x-oold-sssom:
predicate_id: skos:exactMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv
object_source_version: https://w3id.org/emmo/1.0.4
comment: standardUncertainty (VIM4 3.6); 1.0.4 branch only
QuantityValue:
schema:QuantitativeValue:
x-oold-sssom:
predicate_id: skos:closeMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/schemaorg.sssom.tsv
comment: 'broader: also covers intervals/ranges'
obo:OBI_0001931:
x-oold-sssom:
predicate_id: skos:exactMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
emmo:EMMO_f658c301_ce93_46cf_9639_4eace2c5d1d5:
x-oold-sssom:
predicate_id: skos:closeMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv
comment: EMMO QuantityValue requires a nested numerical part (EMMO#376)
{
"$schema": "https://w3id.org/oo-ld/schemas/quantities/0.2/QuantityValue.schema.json",
"@context": "https://w3id.org/oo-ld/schemas/quantities/0.2/QuantityValue.schema.json",
"@id": "https://example.org/instance",
"type": [
"QuantityValue"
],
"value": 12.7,
"unit": "http://qudt.org/vocab/unit/SEC",
"standard_uncertainty": 0.05
}
PREFIX ns1: <https://example.org/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX qunit: <http://qudt.org/vocab/unit/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ns1:instance
a qudt:QuantityValue ;
qudt:hasUnit qunit:SEC ;
qudt:standardUncertainty 5e-02 ;
qudt:value 1.27e+01 ;
.
PREFIX emmo: <https://w3id.org/emmo#>
PREFIX ns1: <https://example.org/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX qunit: <http://qudt.org/vocab/unit/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ns1:instance
a emmo:EMMO_f658c301_ce93_46cf_9639_4eace2c5d1d5 ;
qudt:value 1.27e+01 ;
emmo:EMMO_bba7f0f0_3707_42b9_b3fa_fd04610ef147 5e-02 ;
emmo:EMMO_eeb06032_dd4f_476e_9da6_aa24302b7588 qunit:SEC ;
.
PREFIX ns1: <https://example.org/>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX qunit: <http://qudt.org/vocab/unit/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ns1:instance
a obo:OBI_0001931 ;
obo:IAO_0000039 qunit:SEC ;
obo:OBI_0001937 1.27e+01 ;
qudt:standardUncertainty 5e-02 ;
.
PREFIX ns1: <https://example.org/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX qunit: <http://qudt.org/vocab/unit/>
PREFIX schema1: <http://schema.org/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ns1:instance
a schema1:QuantitativeValue ;
qudt:standardUncertainty 5e-02 ;
schema1:unitCode qunit:SEC ;
schema1:value 1.27e+01 ;
.
Decisions¶
Uncertainty is flat, and deliberately incomplete. Only two forms are here:
standard_uncertainty, in the unit of the value following the GUM convention, and
relative_standard_uncertainty, a dimensionless ratio and not a percentage. These are the only
two that released vocabularies actually map. Expanded uncertainty, coverage factor and coverage
intervals have no flat target in QUDT, EMMO, PMDco or schema.org, so inventing terms for them
here would create mappings that mean nothing to anyone else. They belong in a separate,
node-shaped uncertainty record once there is something to map them to.
Numbers are not datatype-coerced. JSON numbers project to xsd:double, which is the only
fractional datatype that survives the round-trip back into a native JSON number. Coercing to
xsd:decimal looks tidier and quietly breaks re-validation, because the value returns from RDF
as a string. QUDT constrains these properties to xsd:decimal on qudt:Quantifiable, but our
nodes are not typed as Quantifiable, so no constraint is violated; a QUDT-strict consumer can
canonicalize on ingest.
The unit is an IRI, and unit is coerced with @type: @vocab. Modelling the unit as a
reference to a unit individual keeps the class-versus-individual question out of the data
entirely. The @vocab coercion is what lets a subclass declare its unit individuals as terms
and give each one community aliases, which is the next step.
Class alternatives sit on the inline type term rather than in x-oold-instance-rdf-type,
because that keyword materializes all declared types on every export. That is right for
consensus co-typing and wrong for either/or community alignments, where the point is to pick
one.
EMMO has no synonym for value. EMMO models a quantity value as a node with a nested
numerical part, and this schema's value is a literal, so no term definition on this schema
can produce it: the EMMO reading falls back to qudt:value. The correspondence is not lost,
it belongs to the other side. A schema whose value is an object can declare, in its mapping
set for QUDT, that qudt:value nests under it, and then reads this schema's data as its own
nested shape. See Shapes, not only names and
emmo-repo/EMMO#376.
Where the mappings come from¶
Each synonym records the ontology and the exact version it was checked against. The EMMO
mappings target the 1.0.4 development branch rather than the 1.0.3 release, because that is
where units became individuals and the VIM4 data properties appeared. The published build at
w3id.org/emmo/1.0.4 lags its own branch, so the pin names the commit rather than the version
IRI.
References¶
- emmo-repo/EMMO#376, preferred representation of quantities
- emmo-repo/EMMO#377, relating quantity individuals to units
- OO-LD/oold-schema#107, this schema upstream
- OO-LD/oold-schema#108, the mapping-selection requirements