ChemicalComposition¶
The species a substance is made of and how much of each. This is the as-analysed claim: an elemental analysis names species, not ingredients.
- module:
materials0.2.0 - module version: 0.1 · dev
- extends: Composition (
allOf) - schema file:
/materials/dev/ChemicalComposition.schema.json - earlier versions: 0.1.0
| Term | Constraints | Consensus mapping | Alternative mappings |
|---|---|---|---|
type | array, default ["Composition"] | @type | - |
"Composition"What every composition is: a list of components, each a constituent with an amount. What a constituent may be is what differs, so the subschemas declare it. Terms in this schema's own IRI space are placeholders for a vocabulary that is not agreed yet, not a third ontology: they carry no axioms, and each records what it means in EMMO and in PMDco. | type alias | https://w3id.org/oo-ld/schemas/materials/0.2/Composition.schema.json | - |
components | array | chem:/properties/components | - |
| ChemicalComposition | |||
type | default ["ChemicalComposition"] | @type | - |
"ChemicalComposition"The chemical species a substance is made of and how much of each. As analysed, typically: an elemental analysis names species, not ingredients. | type alias | https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json |
|
items Component | chem:/properties/components |
| |
type | array, default ["Component"] | @type | - |
constituent What the component is made of. Which kind of thing that may be is what a composition fixes: a chemical species, or another material. | string | comp:/$defs/Component/properties/constituent |
|
$ref MassFraction | comp:/$defs/Component/properties/amount |
| |
type | array, default ["QuantityValue"] | @type | - |
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 | - |
type | default ["MassFraction"] | @type | - |
unit | enum, default "percent" | qudt:has unit |
|
"percent" | value alias | qunit:Percent |
|
"part_per_million" | value alias | qunit:Parts per Million |
|
type | array, default ["ChemicalComponent"] | @type | - |
constituentThe chemical species or compound, as a species alias | string | chem:/properties/components/items/properties/constituent |
|
* marks a required property.
{
"$schema": "https://oo-ld.org/latest/meta/oold-meta-schema.json",
"$id": "ChemicalComposition.schema.json",
"x-oold-uuid": "1fd3fc76-9606-522f-83e4-665ce088f0a8",
"x-oold-version": "0.1.0",
"title": "ChemicalComposition",
"description": "The chemical species a substance is made of and how much of each. As analysed, typically: an elemental analysis names species, not ingredients.",
"$comment": "`components` embeds an object of this module, and its terms are kept apart by the scope the composition term carries in Material.schema.json. Scoping Composition here as well would layer the base's plain `constituent` over this schema's own and lose both its coercion and its mapping, so OOLD-CMP-5266 is answered one level up.",
"examples": [
{
"type": [
"ChemicalComposition"
],
"components": [
{
"type": [
"ChemicalComponent"
],
"constituent": "Fe",
"amount": {
"type": [
"MassFraction"
],
"value": 96.7,
"unit": "percent"
}
}
]
}
],
"allOf": [
{
"$ref": "Composition.schema.json"
}
],
"@context": [
"Composition.schema.json",
{
"chem": {
"@id": "https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#",
"@prefix": true
},
"ChemicalComposition": "https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json",
"ChemicalComponent": "chem:/properties/components/items",
"Fe": "emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c",
"Si": "emmo:EMMO_4f9670f5-14ca-53da-a1ea-9b0550a61035",
"C": "emmo:EMMO_a7180b5f-d46d-5751-b3bc-ae28a6655992",
"components": {
"@id": "chem:/properties/components",
"@type": "@id",
"@container": "@set"
},
"constituent": {
"@id": "chem:/properties/components/items/properties/constituent",
"@type": "@vocab"
}
}
],
"properties": {
"type": {
"default": [
"ChemicalComposition"
]
},
"components": {
"items": {
"allOf": [
{
"$ref": "Composition.schema.json#/$defs/Component"
}
],
"properties": {
"type": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"ChemicalComponent"
]
},
"constituent": {
"type": "string",
"description": "The chemical species or compound, as a species alias",
"examples": [
"Fe",
"Si",
"C"
]
}
}
}
}
},
"x-oold-context": {
"ChemicalComposition": {
"emmo:EMMO_7efd64d1_05a1_49cd_a7f0_783ca050d4f3": {
"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": "ChemicalComposition, the union of total, partial and single component"
}
},
"pmd:PMD_0000551": {
"x-oold-sssom": {
"predicate_id": "skos:closeMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv",
"object_source_version": "https://w3id.org/pmd/co/3.1.0",
"comment": "chemical composition is a quality of the material, not a symbolic construct"
}
}
},
"ChemicalComponent": {
"emmo:EMMO_172e2c96_180b_40f8_a3e7_b624471f40c2": {
"x-oold-sssom": {
"predicate_id": "skos:closeMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv",
"object_source_version": "https://w3id.org/emmo/1.0.4",
"comment": "SingleComponentComposition"
}
},
"pmd:PMD_0020102": {
"x-oold-sssom": {
"predicate_id": "skos:closeMatch",
"mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv",
"object_source_version": "https://w3id.org/pmd/co/3.1.0",
"comment": "mass ratio, while the amount is a mass fraction"
}
}
},
"components": {
"emmo:EMMO_b2282816_b7a3_44c6_b2cb_3feff1ceb7fe": {
"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": "hasSpatialTile"
}
}
},
"constituent": {
"emmo:EMMO_18fdd2cd_4b0a_43a5_a938_66d8290a066c": {
"@type": "@vocab",
"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": "hasSpeciesPart, 1.0.4 only"
}
}
}
}
}
$schema: https://oo-ld.org/latest/meta/oold-meta-schema.json
$id: ChemicalComposition.schema.json
x-oold-uuid: 1fd3fc76-9606-522f-83e4-665ce088f0a8
x-oold-version: 0.1.0
title: ChemicalComposition
description: 'The chemical species a substance is made of and how much of each. As analysed, typically:
an elemental analysis names species, not ingredients.'
$comment: '`components` embeds an object of this module, and its terms are kept apart by the scope the
composition term carries in Material.schema.json. Scoping Composition here as well would layer the base''s
plain `constituent` over this schema''s own and lose both its coercion and its mapping, so OOLD-CMP-5266
is answered one level up.'
examples:
- type:
- ChemicalComposition
components:
- type:
- ChemicalComponent
constituent: Fe
amount:
type:
- MassFraction
value: 96.7
unit: percent
allOf:
- $ref: Composition.schema.json
'@context':
- Composition.schema.json
- chem:
'@id': https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#
'@prefix': true
ChemicalComposition: https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json
ChemicalComponent: chem:/properties/components/items
Fe: emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c
Si: emmo:EMMO_4f9670f5-14ca-53da-a1ea-9b0550a61035
C: emmo:EMMO_a7180b5f-d46d-5751-b3bc-ae28a6655992
components:
'@id': chem:/properties/components
'@type': '@id'
'@container': '@set'
constituent:
'@id': chem:/properties/components/items/properties/constituent
'@type': '@vocab'
properties:
type:
default:
- ChemicalComposition
components:
items:
allOf:
- $ref: Composition.schema.json#/$defs/Component
properties:
type:
type: array
items:
type: string
default:
- ChemicalComponent
constituent:
type: string
description: The chemical species or compound, as a species alias
examples:
- Fe
- Si
- C
x-oold-context:
ChemicalComposition:
emmo:EMMO_7efd64d1_05a1_49cd_a7f0_783ca050d4f3:
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: ChemicalComposition, the union of total, partial and single component
pmd:PMD_0000551:
x-oold-sssom:
predicate_id: skos:closeMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
object_source_version: https://w3id.org/pmd/co/3.1.0
comment: chemical composition is a quality of the material, not a symbolic construct
ChemicalComponent:
emmo:EMMO_172e2c96_180b_40f8_a3e7_b624471f40c2:
x-oold-sssom:
predicate_id: skos:closeMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv
object_source_version: https://w3id.org/emmo/1.0.4
comment: SingleComponentComposition
pmd:PMD_0020102:
x-oold-sssom:
predicate_id: skos:closeMatch
mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
object_source_version: https://w3id.org/pmd/co/3.1.0
comment: mass ratio, while the amount is a mass fraction
components:
emmo:EMMO_b2282816_b7a3_44c6_b2cb_3feff1ceb7fe:
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: hasSpatialTile
constituent:
emmo:EMMO_18fdd2cd_4b0a_43a5_a938_66d8290a066c:
'@type': '@vocab'
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: hasSpeciesPart, 1.0.4 only
{
"$schema": "https://w3id.org/oo-ld/schemas/materials/dev/ChemicalComposition.schema.json",
"@context": "https://w3id.org/oo-ld/schemas/materials/dev/ChemicalComposition.schema.json",
"@id": "https://example.org/instance",
"type": [
"ChemicalComposition"
],
"components": [
{
"type": [
"ChemicalComponent"
],
"constituent": "Fe",
"amount": {
"type": [
"MassFraction"
],
"value": 96.7,
"unit": "percent"
}
}
]
}
PREFIX chem_components: <https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#/properties/components/>
PREFIX chem_components_items: <https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#/properties/components/items/properties/>
PREFIX chem_properties: <https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#/properties/>
PREFIX comp_Component: <https://w3id.org/oo-ld/schemas/materials/0.2/Composition.schema.json#/$defs/Component/properties/>
PREFIX emmo: <https://w3id.org/emmo#>
PREFIX ex: <https://example.org/>
PREFIX genid: <https://schemas.oo-ld.org/.well-known/genid/>
PREFIX materials: <https://w3id.org/oo-ld/schemas/materials/0.2/>
PREFIX qkind: <http://qudt.org/vocab/quantitykind/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX qunit: <http://qudt.org/vocab/unit/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ex:instance
a materials:ChemicalComposition.schema.json ;
chem_properties:components genid:c14n1 ;
.
genid:c14n0
a qkind:MassFraction ;
qudt:hasUnit qunit:PERCENT ;
qudt:value 9.67e+01 ;
.
genid:c14n1
a chem_components:items ;
chem_components_items:constituent emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c ;
comp_Component:amount genid:c14n0 ;
.
PREFIX emmo: <https://w3id.org/emmo#>
PREFIX ex: <https://example.org/>
PREFIX genid: <https://schemas.oo-ld.org/.well-known/genid/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ex:instance
a emmo:EMMO_7efd64d1_05a1_49cd_a7f0_783ca050d4f3 ;
emmo:EMMO_b2282816_b7a3_44c6_b2cb_3feff1ceb7fe genid:c14n0 ;
.
genid:c14n0
a emmo:EMMO_172e2c96_180b_40f8_a3e7_b624471f40c2 ;
emmo:EMMO_18fdd2cd_4b0a_43a5_a938_66d8290a066c emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c ;
emmo:EMMO_95d706e4_8b16_48a1_8dfd_40ccd4df1c12 genid:c14n1 ;
.
genid:c14n1
a emmo:EMMO_7c055d65_2929_40e1_af4f_4bf10995ad50 ;
qudt:value 9.67e+01 ;
emmo:EMMO_eeb06032_dd4f_476e_9da6_aa24302b7588 emmo:WeightPercent ;
.
PREFIX chem_components_items: <https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#/properties/components/items/properties/>
PREFIX chem_properties: <https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#/properties/>
PREFIX emmo: <https://w3id.org/emmo#>
PREFIX ex: <https://example.org/>
PREFIX genid: <https://schemas.oo-ld.org/.well-known/genid/>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX pmd: <https://w3id.org/pmd/co/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ex:instance
a pmd:PMD_0000551 ;
chem_properties:components genid:c14n0 ;
.
genid:c14n0
a pmd:PMD_0020102 ;
chem_components_items:constituent emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c ;
pmd:PMD_0000077 genid:c14n1 ;
.
genid:c14n1
a pmd:PMD_0025997 ;
obo:IAO_0000039 obo:UO_0000163 ;
obo:OBI_0001937 9.67e+01 ;
.
PREFIX chem_components: <https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#/properties/components/>
PREFIX chem_components_items: <https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#/properties/components/items/properties/>
PREFIX chem_properties: <https://w3id.org/oo-ld/schemas/materials/0.2/ChemicalComposition.schema.json#/properties/>
PREFIX comp_Component: <https://w3id.org/oo-ld/schemas/materials/0.2/Composition.schema.json#/$defs/Component/properties/>
PREFIX emmo: <https://w3id.org/emmo#>
PREFIX ex: <https://example.org/>
PREFIX genid: <https://schemas.oo-ld.org/.well-known/genid/>
PREFIX materials: <https://w3id.org/oo-ld/schemas/materials/0.2/>
PREFIX qkind: <http://qudt.org/vocab/quantitykind/>
PREFIX qunit: <http://qudt.org/vocab/unit/>
PREFIX schema1: <http://schema.org/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ex:instance
a materials:ChemicalComposition.schema.json ;
chem_properties:components genid:c14n1 ;
.
genid:c14n0
a qkind:MassFraction ;
schema1:unitCode qunit:PERCENT ;
schema1:value 9.67e+01 ;
.
genid:c14n1
a chem_components:items ;
chem_components_items:constituent emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c ;
comp_Component:amount genid:c14n0 ;
.
flowchart LR
n0["instance<br>ChemicalComposition"]
n1["blank node<br>chem:ChemicalComponent"]
n2["blank node<br>qkind:Mass Fraction"]
n3["qunit:Percent"]
n4[/"96.7"/]
n5["emmo:IronSymbol"]
n0 -->|chem:components| n1
n2 -->|qudt:has unit| n3
n2 -->|qudt:value| n4
n1 -->|chem:constituent| n5
n1 -->|comp:amount| n2
flowchart LR
n0["instance<br>emmo:ChemicalComposition"]
n1["blank node<br>emmo:SingleComponentComposition"]
n2["emmo:IronSymbol"]
n3["blank node<br>emmo:MassFraction"]
n4[/"96.7"/]
n5["emmo:WeightPercent"]
n0 -->|emmo:hasSpatialTile| n1
n1 -->|emmo:hasSpeciesPart| n2
n1 -->|emmo:hasQuantityPart| n3
n3 -->|qudt:value| n4
n3 -->|emmo:hasReferencePart| n5
flowchart LR
n0["instance<br>pmd:chemical composition"]
n1["blank node<br>pmd:mass ratio"]
n2["emmo:IronSymbol"]
n3["blank node<br>pmd:fraction value specification"]
n4["obo:mass percentage"]
n5[/"96.7"/]
n0 -->|chem:components| n1
n1 -->|chem:constituent| n2
n1 -->|pmd:specified by value| n3
n3 -->|obo:has measurement unit label| n4
n3 -->|obo:has specified numeric value| n5
flowchart LR
n0["instance<br>ChemicalComposition"]
n1["blank node<br>chem:ChemicalComponent"]
n2["blank node<br>qkind:Mass Fraction"]
n3["qunit:Percent"]
n4[/"96.7"/]
n5["emmo:IronSymbol"]
n0 -->|chem:components| n1
n2 -->|schema:unitCode| n3
n2 -->|schema:value| n4
n1 -->|chem:constituent| n5
n1 -->|comp:amount| n2
EMMO fits this case exactly. A composition there is a language construct, and
SingleComponentComposition is the smallest sub-expression that still says something: one
species, one fraction. components is EMMO's hasSpatialTile, constituent its hasSpeciesPart,
whose range ChemicalSpecies is ChemicalElement or ChemicalNomenclature or ChemicalFormula,
so Fe and SiC both fit.
PMDco reads the same document through its own pattern, where the component is a mass ratio and the amount the fraction value specification it is specified by.
flowchart LR
a{{substance1}}--> |a| A([Substance])
b{{composition1}}--> |a| B([ChemicalComposition])
c1{{comp_Fe}} & c2{{comp_Si}} & c3{{comp_C}}--> |a| C([ChemicalComponent])
d1{{Fe}} & d2{{Si}} & d3{{C}}--> |a| D([ChemicalSpecies])
e1{{wt_Fe}} & e2{{wt_Si}} & e3{{wt_C}}--> |a| E1([MassFraction])-->|subClassOf| E2([ChemicalCompositionQuantity])
g1{{%}} & g2{{ppm}}--> |a| G([MassFractionUnit])
a -->|composition| b
b -->|components| c1 & c2 & c3
c1 -->|constituent| d1
c2 -->|constituent| d2
c3 -->|constituent| d3
c1 -->|amount| e1
c2 -->|amount| e2
c3 -->|amount| e3
e1 -->|value| f1[96.7]
e2 -->|value| f2[3.3]
e3 -->|value| f3[120]
e2 -->|standard_uncertainty| f4[0.1]
e1 -->|unit| g1
e2 -->|unit| g1
e3 -->|unit| g2
classDef cls fill:#ffc,stroke:#f8f200,color:#000
classDef indv fill:#cfc,stroke:#96daa1,color:#000
classDef literal fill:none,stroke:#800,color:#000
class A,B,C,D,E1,E2,G cls
class a,b,c1,c2,c3,d1,d2,d3,e1,e2,e3,g1,g2 indv
class f1,f2,f3,f4 literal