Skip to content

Composition

Chemical composition of a substance.

TermConstraintsConsensus mappingAlternative mappings
typearray, default ["Material"]@type-
composition *-self:/properties/composition

* marks a required property.

{
  "$schema": "https://oo-ld.org/latest/meta/oold-meta-schema.json",
  "$id": "Composition.schema.json",
  "x-oold-version": "0.1.0",
  "title": "Composition",
  "description": "A material and its chemical composition: one entry per constituent, with the amount as a typed quantity. 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.",
  "examples": [
    {
      "type": [
        "Material"
      ],
      "composition": {
        "type": [
          "ChemicalComposition"
        ],
        "components": [
          {
            "type": [
              "Component"
            ],
            "constituent": "Fe",
            "amount": {
              "type": [
                "MassFraction"
              ],
              "value": 96.7,
              "unit": "percent"
            }
          }
        ]
      }
    }
  ],
  "type": "object",
  "properties": {
    "type": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": [
        "Material"
      ]
    },
    "composition": {
      "$ref": "#/$defs/ChemicalComposition"
    }
  },
  "required": [
    "composition"
  ],
  "$defs": {
    "ChemicalComposition": {
      "type": "object",
      "title": "ChemicalComposition",
      "description": "The constituents of a material and how much of each.",
      "properties": {
        "type": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [
            "ChemicalComposition"
          ]
        },
        "components": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Component"
          }
        }
      },
      "required": [
        "components"
      ]
    },
    "Component": {
      "type": "object",
      "title": "Component",
      "description": "One constituent and its amount.",
      "properties": {
        "type": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [
            "Component"
          ]
        },
        "constituent": {
          "type": "string",
          "description": "The chemical species or compound this component is made of",
          "examples": [
            "Fe",
            "Si",
            "C"
          ]
        },
        "amount": {
          "type": "object",
          "title": "MassFraction",
          "description": "Mirrors quantities/MassFraction until a cross-module $ref resolves; the quantity, not the unit, says the percentage is by mass",
          "properties": {
            "type": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "default": [
                "MassFraction"
              ]
            },
            "value": {
              "type": "number"
            },
            "unit": {
              "enum": [
                "percent",
                "part_per_million"
              ],
              "default": "percent"
            },
            "standard_uncertainty": {
              "type": "number",
              "description": "Standard uncertainty, expressed in the unit of value (GUM convention)"
            }
          },
          "required": [
            "type",
            "value",
            "unit"
          ]
        }
      },
      "required": [
        "type",
        "constituent",
        "amount"
      ]
    }
  },
  "@context": {
    "@version": 1.1,
    "emmo": "https://w3id.org/emmo#",
    "obo": "http://purl.obolibrary.org/obo/",
    "pmd": "https://w3id.org/pmd/co/",
    "schema": "http://schema.org/",
    "self": {
      "@id": "https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#",
      "@prefix": true
    },
    "id": "@id",
    "type": {
      "@id": "@type",
      "@container": "@set"
    },
    "Material": "https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json",
    "ChemicalComposition": "self:/$defs/ChemicalComposition",
    "Component": "self:/$defs/Component",
    "Fe": "emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c",
    "Si": "emmo:EMMO_4f9670f5-14ca-53da-a1ea-9b0550a61035",
    "C": "emmo:EMMO_a7180b5f-d46d-5751-b3bc-ae28a6655992",
    "composition": {
      "@id": "self:/properties/composition",
      "@type": "@id"
    },
    "components": {
      "@id": "self:/$defs/ChemicalComposition/properties/components",
      "@type": "@id",
      "@container": "@set"
    },
    "constituent": {
      "@id": "self:/$defs/Component/properties/constituent",
      "@type": "@vocab"
    },
    "amount": {
      "@id": "self:/$defs/Component/properties/amount",
      "@type": "@id"
    },
    "qudt": "http://qudt.org/schema/qudt/",
    "qunit": "http://qudt.org/vocab/unit/",
    "value": "qudt:value",
    "unit": {
      "@id": "qudt:hasUnit",
      "@type": "@vocab"
    },
    "standard_uncertainty": "qudt:standardUncertainty",
    "qkind": "http://qudt.org/vocab/quantitykind/",
    "MassFraction": "qkind:MassFraction",
    "percent": "qunit:PERCENT",
    "part_per_million": "qunit:PPM"
  },
  "x-oold-context": {
    "Material": {
      "emmo:EMMO_bc37743c_37c4_4ec7_9d58_d1aae5567352": {
        "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": "Substance, not Material: Material is ordinary matter with bonds, so it excludes gases and solutions"
        }
      },
      "pmd:PMD_0000000": {
        "x-oold-sssom": {
          "predicate_id": "skos:exactMatch",
          "mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv",
          "object_source_version": "https://w3id.org/pmd/co/3.1.0"
        }
      }
    },
    "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",
          "comment": "ChemicalComposition, the union of total, partial and single component: a composition need not be complete"
        }
      },
      "pmd:PMD_0000551": {
        "x-oold-sssom": {
          "predicate_id": "skos:closeMatch",
          "mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv",
          "comment": "chemical composition is a quality of the material, not a symbolic construct"
        }
      }
    },
    "Component": {
      "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",
          "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",
          "comment": "mass ratio, renamed from mass proportion in 3.1.0; holds while the amount is a mass fraction"
        }
      }
    },
    "composition": {
      "emmo:EMMO_51f426a6_af4a_4e91_a392_2b0bb635e2d5": {
        "x-oold-sssom": {
          "predicate_id": "skos:exactMatch",
          "mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv",
          "comment": "hasChemicalComposition"
        }
      },
      "obo:RO_0000080": {
        "@reverse": "obo:RO_0000080",
        "x-oold-sssom": {
          "predicate_id": "skos:exactMatch",
          "mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv",
          "comment": "quality of, stated from the composition, so the term promotes as a reverse property"
        }
      }
    },
    "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",
          "comment": "hasSpatialTile; PMDco reaches the fractions through the specification instead, so it keeps the placeholder term"
        }
      }
    },
    "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; PMDco carries the species in the portion's class, which needs a node this schema does not mint"
        }
      }
    },
    "amount": {
      "emmo:EMMO_95d706e4_8b16_48a1_8dfd_40ccd4df1c12": {
        "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": "hasQuantityPart, 1.0.4 only"
        }
      },
      "pmd:PMD_0000077": {
        "x-oold-sssom": {
          "predicate_id": "skos:exactMatch",
          "mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv",
          "comment": "specified by value"
        }
      }
    },
    "MassFraction": {
      "emmo:EMMO_7c055d65_2929_40e1_af4f_4bf10995ad50": {
        "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": "MassFraction, a ChemicalCompositionQuantity"
        }
      },
      "pmd:PMD_0025997": {
        "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": "fraction value specification is an information entity, so the match is close rather than exact"
        }
      }
    },
    "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"
        }
      }
    },
    "percent": {
      "emmo:WeightPercent": {
        "x-oold-sssom": {
          "predicate_id": "skos:exactMatch",
          "mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv",
          "comment": "the quantity decides that percent is by mass, so the same alias resolves differently in a VolumeFraction"
        }
      },
      "obo:UO_0000163": {
        "x-oold-sssom": {
          "predicate_id": "skos:exactMatch",
          "mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv",
          "comment": "UO mass percentage"
        }
      }
    },
    "part_per_million": {
      "emmo:PartPerMillion": {
        "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"
        }
      },
      "obo:UO_0000169": {
        "x-oold-sssom": {
          "predicate_id": "skos:exactMatch",
          "mapping_set_id": "https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv",
          "comment": "UO parts per million"
        }
      }
    }
  }
}
$schema: https://oo-ld.org/latest/meta/oold-meta-schema.json
$id: Composition.schema.json
x-oold-version: 0.1.0
title: Composition
description: 'A material and its chemical composition: one entry per constituent, with the amount as a
  typed quantity. 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.'
examples:
- type:
  - Material
  composition:
    type:
    - ChemicalComposition
    components:
    - type:
      - Component
      constituent: Fe
      amount:
        type:
        - MassFraction
        value: 96.7
        unit: percent
type: object
properties:
  type:
    type: array
    items:
      type: string
    default:
    - Material
  composition:
    $ref: '#/$defs/ChemicalComposition'
required:
- composition
$defs:
  ChemicalComposition:
    type: object
    title: ChemicalComposition
    description: The constituents of a material and how much of each.
    properties:
      type:
        type: array
        items:
          type: string
        default:
        - ChemicalComposition
      components:
        type: array
        minItems: 1
        items:
          $ref: '#/$defs/Component'
    required:
    - components
  Component:
    type: object
    title: Component
    description: One constituent and its amount.
    properties:
      type:
        type: array
        items:
          type: string
        default:
        - Component
      constituent:
        type: string
        description: The chemical species or compound this component is made of
        examples:
        - Fe
        - Si
        - C
      amount:
        type: object
        title: MassFraction
        description: Mirrors quantities/MassFraction until a cross-module $ref resolves; the quantity,
          not the unit, says the percentage is by mass
        properties:
          type:
            type: array
            items:
              type: string
            default:
            - MassFraction
          value:
            type: number
          unit:
            enum:
            - percent
            - part_per_million
            default: percent
          standard_uncertainty:
            type: number
            description: Standard uncertainty, expressed in the unit of value (GUM convention)
        required:
        - type
        - value
        - unit
    required:
    - type
    - constituent
    - amount
'@context':
  '@version': 1.1
  emmo: https://w3id.org/emmo#
  obo: http://purl.obolibrary.org/obo/
  pmd: https://w3id.org/pmd/co/
  schema: http://schema.org/
  self:
    '@id': https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#
    '@prefix': true
  id: '@id'
  type:
    '@id': '@type'
    '@container': '@set'
  Material: https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json
  ChemicalComposition: self:/$defs/ChemicalComposition
  Component: self:/$defs/Component
  Fe: emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c
  Si: emmo:EMMO_4f9670f5-14ca-53da-a1ea-9b0550a61035
  C: emmo:EMMO_a7180b5f-d46d-5751-b3bc-ae28a6655992
  composition:
    '@id': self:/properties/composition
    '@type': '@id'
  components:
    '@id': self:/$defs/ChemicalComposition/properties/components
    '@type': '@id'
    '@container': '@set'
  constituent:
    '@id': self:/$defs/Component/properties/constituent
    '@type': '@vocab'
  amount:
    '@id': self:/$defs/Component/properties/amount
    '@type': '@id'
  qudt: http://qudt.org/schema/qudt/
  qunit: http://qudt.org/vocab/unit/
  value: qudt:value
  unit:
    '@id': qudt:hasUnit
    '@type': '@vocab'
  standard_uncertainty: qudt:standardUncertainty
  qkind: http://qudt.org/vocab/quantitykind/
  MassFraction: qkind:MassFraction
  percent: qunit:PERCENT
  part_per_million: qunit:PPM
x-oold-context:
  Material:
    emmo:EMMO_bc37743c_37c4_4ec7_9d58_d1aae5567352:
      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: 'Substance, not Material: Material is ordinary matter with bonds, so it excludes gases
          and solutions'
    pmd:PMD_0000000:
      x-oold-sssom:
        predicate_id: skos:exactMatch
        mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
        object_source_version: https://w3id.org/pmd/co/3.1.0
  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
        comment: 'ChemicalComposition, the union of total, partial and single component: a composition
          need not be complete'
    pmd:PMD_0000551:
      x-oold-sssom:
        predicate_id: skos:closeMatch
        mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
        comment: chemical composition is a quality of the material, not a symbolic construct
  Component:
    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
        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
        comment: mass ratio, renamed from mass proportion in 3.1.0; holds while the amount is a mass fraction
  composition:
    emmo:EMMO_51f426a6_af4a_4e91_a392_2b0bb635e2d5:
      x-oold-sssom:
        predicate_id: skos:exactMatch
        mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv
        comment: hasChemicalComposition
    obo:RO_0000080:
      '@reverse': obo:RO_0000080
      x-oold-sssom:
        predicate_id: skos:exactMatch
        mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
        comment: quality of, stated from the composition, so the term promotes as a reverse property
  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
        comment: hasSpatialTile; PMDco reaches the fractions through the specification instead, so it
          keeps the placeholder term
  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; PMDco carries the species in the portion's class, which needs
          a node this schema does not mint
  amount:
    emmo:EMMO_95d706e4_8b16_48a1_8dfd_40ccd4df1c12:
      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: hasQuantityPart, 1.0.4 only
    pmd:PMD_0000077:
      x-oold-sssom:
        predicate_id: skos:exactMatch
        mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
        comment: specified by value
  MassFraction:
    emmo:EMMO_7c055d65_2929_40e1_af4f_4bf10995ad50:
      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: MassFraction, a ChemicalCompositionQuantity
    pmd:PMD_0025997:
      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: fraction value specification is an information entity, so the match is close rather than
          exact
  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
  percent:
    emmo:WeightPercent:
      x-oold-sssom:
        predicate_id: skos:exactMatch
        mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/emmo.sssom.tsv
        comment: the quantity decides that percent is by mass, so the same alias resolves differently
          in a VolumeFraction
    obo:UO_0000163:
      x-oold-sssom:
        predicate_id: skos:exactMatch
        mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
        comment: UO mass percentage
  part_per_million:
    emmo:PartPerMillion:
      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
    obo:UO_0000169:
      x-oold-sssom:
        predicate_id: skos:exactMatch
        mapping_set_id: https://w3id.org/oo-ld/schemas/mappings/pmdco.sssom.tsv
        comment: UO parts per million
{
  "$schema": "https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json",
  "@context": "https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json",
  "id": "https://example.org/material/no27_14",
  "type": [
    "Material"
  ],
  "composition": {
    "type": [
      "ChemicalComposition"
    ],
    "components": [
      {
        "type": [
          "Component"
        ],
        "constituent": "Fe",
        "amount": {
          "type": [
            "MassFraction"
          ],
          "value": 96.7,
          "unit": "percent"
        }
      },
      {
        "type": [
          "Component"
        ],
        "constituent": "Si",
        "amount": {
          "type": [
            "MassFraction"
          ],
          "value": 3.3,
          "unit": "percent",
          "standard_uncertainty": 0.1
        }
      },
      {
        "type": [
          "Component"
        ],
        "constituent": "C",
        "amount": {
          "type": [
            "MassFraction"
          ],
          "value": 120,
          "unit": "part_per_million"
        }
      }
    ]
  }
}

PREFIX emmo: <https://w3id.org/emmo#>
PREFIX ns1: <https://example.org/material/>
PREFIX ns2: <https://schemas.oo-ld.org/.well-known/genid/>
PREFIX ns3: <https://w3id.org/oo-ld/schemas/materials/0.1/>
PREFIX ns4: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/$defs/>
PREFIX ns5: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/$defs/ChemicalComposition/properties/>
PREFIX ns6: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/$defs/Component/properties/>
PREFIX ns7: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/properties/>
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#>

ns1:no27_14
    a ns3:Composition.schema.json ;
    ns7:composition ns2:c14n2 ;
.

ns2:c14n0
    a ns4:Component ;
    ns6:amount ns2:c14n4 ;
    ns6:constituent emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c ;
.

ns2:c14n1
    a qkind:MassFraction ;
    qudt:hasUnit qunit:PERCENT ;
    qudt:standardUncertainty 1e-01 ;
    qudt:value 3.3e+00 ;
.

ns2:c14n2
    a ns4:ChemicalComposition ;
    ns5:components
        ns2:c14n0 ,
        ns2:c14n3 ,
        ns2:c14n6 ;
.

ns2:c14n3
    a ns4:Component ;
    ns6:amount ns2:c14n1 ;
    ns6:constituent emmo:EMMO_4f9670f5-14ca-53da-a1ea-9b0550a61035 ;
.

ns2:c14n4
    a qkind:MassFraction ;
    qudt:hasUnit qunit:PERCENT ;
    qudt:value 9.67e+01 ;
.

ns2:c14n5
    a qkind:MassFraction ;
    qudt:hasUnit qunit:PPM ;
    qudt:value 120 ;
.

ns2:c14n6
    a ns4:Component ;
    ns6:amount ns2:c14n5 ;
    ns6:constituent emmo:EMMO_a7180b5f-d46d-5751-b3bc-ae28a6655992 ;
.
PREFIX emmo: <https://w3id.org/emmo#>
PREFIX ns1: <https://example.org/material/>
PREFIX ns2: <https://schemas.oo-ld.org/.well-known/genid/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

ns1:no27_14
    a emmo:EMMO_bc37743c_37c4_4ec7_9d58_d1aae5567352 ;
    emmo:EMMO_51f426a6_af4a_4e91_a392_2b0bb635e2d5 ns2:c14n1 ;
.

ns2:c14n0
    a emmo:EMMO_7c055d65_2929_40e1_af4f_4bf10995ad50 ;
    qudt:value 3.3e+00 ;
    emmo:EMMO_bba7f0f0_3707_42b9_b3fa_fd04610ef147 1e-01 ;
    emmo:EMMO_eeb06032_dd4f_476e_9da6_aa24302b7588 emmo:WeightPercent ;
.

ns2:c14n1
    a emmo:EMMO_7efd64d1_05a1_49cd_a7f0_783ca050d4f3 ;
    emmo:EMMO_b2282816_b7a3_44c6_b2cb_3feff1ceb7fe
        ns2:c14n2 ,
        ns2:c14n3 ,
        ns2:c14n5 ;
.

ns2:c14n2
    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 ns2:c14n4 ;
.

ns2:c14n3
    a emmo:EMMO_172e2c96_180b_40f8_a3e7_b624471f40c2 ;
    emmo:EMMO_18fdd2cd_4b0a_43a5_a938_66d8290a066c emmo:EMMO_4f9670f5-14ca-53da-a1ea-9b0550a61035 ;
    emmo:EMMO_95d706e4_8b16_48a1_8dfd_40ccd4df1c12 ns2:c14n0 ;
.

ns2:c14n4
    a emmo:EMMO_7c055d65_2929_40e1_af4f_4bf10995ad50 ;
    qudt:value 9.67e+01 ;
    emmo:EMMO_eeb06032_dd4f_476e_9da6_aa24302b7588 emmo:WeightPercent ;
.

ns2:c14n5
    a emmo:EMMO_172e2c96_180b_40f8_a3e7_b624471f40c2 ;
    emmo:EMMO_18fdd2cd_4b0a_43a5_a938_66d8290a066c emmo:EMMO_a7180b5f-d46d-5751-b3bc-ae28a6655992 ;
    emmo:EMMO_95d706e4_8b16_48a1_8dfd_40ccd4df1c12 ns2:c14n6 ;
.

ns2:c14n6
    a emmo:EMMO_7c055d65_2929_40e1_af4f_4bf10995ad50 ;
    qudt:value 120 ;
    emmo:EMMO_eeb06032_dd4f_476e_9da6_aa24302b7588 emmo:PartPerMillion ;
.
PREFIX emmo: <https://w3id.org/emmo#>
PREFIX ns1: <https://example.org/material/>
PREFIX ns2: <https://schemas.oo-ld.org/.well-known/genid/>
PREFIX ns3: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/$defs/ChemicalComposition/properties/>
PREFIX ns4: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/$defs/Component/properties/>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX pmd: <https://w3id.org/pmd/co/>
PREFIX qudt: <http://qudt.org/schema/qudt/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

ns2:c14n2
    a pmd:PMD_0000551 ;
    obo:RO_0000080 ns1:no27_14 ;
    ns3:components
        ns2:c14n0 ,
        ns2:c14n4 ,
        ns2:c14n5 ;
.

ns1:no27_14
    a pmd:PMD_0000000 ;
.

ns2:c14n0
    a pmd:PMD_0020102 ;
    ns4:constituent emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c ;
    pmd:PMD_0000077 ns2:c14n3 ;
.

ns2:c14n1
    a pmd:PMD_0025997 ;
    obo:IAO_0000039 obo:UO_0000163 ;
    obo:OBI_0001937 3.3e+00 ;
    qudt:standardUncertainty 1e-01 ;
.

ns2:c14n3
    a pmd:PMD_0025997 ;
    obo:IAO_0000039 obo:UO_0000163 ;
    obo:OBI_0001937 9.67e+01 ;
.

ns2:c14n4
    a pmd:PMD_0020102 ;
    ns4:constituent emmo:EMMO_4f9670f5-14ca-53da-a1ea-9b0550a61035 ;
    pmd:PMD_0000077 ns2:c14n1 ;
.

ns2:c14n5
    a pmd:PMD_0020102 ;
    ns4:constituent emmo:EMMO_a7180b5f-d46d-5751-b3bc-ae28a6655992 ;
    pmd:PMD_0000077 ns2:c14n6 ;
.

ns2:c14n6
    a pmd:PMD_0025997 ;
    obo:IAO_0000039 obo:UO_0000169 ;
    obo:OBI_0001937 120 ;
.
PREFIX emmo: <https://w3id.org/emmo#>
PREFIX ns1: <https://example.org/material/>
PREFIX ns2: <https://schemas.oo-ld.org/.well-known/genid/>
PREFIX ns3: <https://w3id.org/oo-ld/schemas/materials/0.1/>
PREFIX ns4: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/$defs/>
PREFIX ns5: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/$defs/ChemicalComposition/properties/>
PREFIX ns6: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/$defs/Component/properties/>
PREFIX ns7: <https://w3id.org/oo-ld/schemas/materials/0.1/Composition.schema.json#/properties/>
PREFIX qkind: <http://qudt.org/vocab/quantitykind/>
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:no27_14
    a ns3:Composition.schema.json ;
    ns7:composition ns2:c14n2 ;
.

ns2:c14n0
    a ns4:Component ;
    ns6:amount ns2:c14n1 ;
    ns6:constituent emmo:EMMO_71b5082d-9908-5011-8ad0-b2ab70ffd08c ;
.

ns2:c14n1
    a qkind:MassFraction ;
    schema1:unitCode qunit:PERCENT ;
    schema1:value 9.67e+01 ;
.

ns2:c14n2
    a ns4:ChemicalComposition ;
    ns5:components
        ns2:c14n0 ,
        ns2:c14n3 ,
        ns2:c14n5 ;
.

ns2:c14n3
    a ns4:Component ;
    ns6:amount ns2:c14n6 ;
    ns6:constituent emmo:EMMO_4f9670f5-14ca-53da-a1ea-9b0550a61035 ;
.

ns2:c14n4
    a qkind:MassFraction ;
    schema1:unitCode qunit:PPM ;
    schema1:value 120 ;
.

ns2:c14n5
    a ns4:Component ;
    ns6:amount ns2:c14n4 ;
    ns6:constituent emmo:EMMO_a7180b5f-d46d-5751-b3bc-ae28a6655992 ;
.

ns2:c14n6
    a qkind:MassFraction ;
    qudt:standardUncertainty 1e-01 ;
    schema1:unitCode qunit:PERCENT ;
    schema1:value 3.3e+00 ;
.

The example below shows how the chemical composition can be specified for a substance instance:

{
  "$schema": "Composition.schema.json",
  "@context": "Composition.schema.json",
  "@id": "https://example.org/material/no27_14",
  "type": ["Substance"],
  "composition": {
    "type": ["ChemicalComposition"],
    "components": [
      {"type": ["Component"], "constituent": "Fe", "amount": {"type": ["MassFraction"], "value": 96.7, "unit": "PERCENT"}},
      {"type": ["Component"], "constituent": "Si", "amount": {"type": ["MassFraction"], "value": 3.3, "unit": "PERCENT", "standard_uncertainty": 0.1}},
      {"type": ["Component"], "constituent": "C", "amount": {"type": ["MassFraction"], "value": 120, "unit": "PPM"}}
    ]
  }
}

It should result generic RDF representation:

flowchart LR
    a{{substance1}}--> |a| A([Substance])
    b{{composition1}}--> |a| B([ChemicalComposition])
    c1{{comp_Fe}} & c2{{comp_Si}} & c3{{comp_C}}--> |a| C([Component])
    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