Properties and Quantities#

Introduction#

In science and engineering, we describe the world by assigning properties to objects — color, mass, length, hardness, conductivity, and so on. Some of these properties can be measured and expressed numerically; others are qualitative or categorical.

EMMO captures this full range through the class Property and its subclasses. Among these, Quantity represents properties that can be expressed as the product of a number and a unit — such as “1.8 cm,” “1.4 kg,” or “50 Ω.”

Example of a measured diameter.

Understanding Properties in EMMO#

In EMMO, a Property is any characteristic that describes an entity or system. It answers questions like:

  • What color is it?

  • How heavy is it?

  • What is its porosity, density, or composition?

A property is always about something — a material, a process, or a system.

EMMO distinguishes several types of properties depending on how their values are obtained or defined.

Objective and Subjective Properties#

Objective properties can be determined through systematic observation or calculation. EMMO includes several key subclasses:

  • MeasuredProperty — obtained through direct measurement or observation (e.g., measuring a cell’s voltage with a potentiostat).

  • ModelledProperty — computed from experimental or simulation models (e.g., estimating diffusion coefficient from simulation).

  • ConventionalProperty — assigned by convention or agreement, such as a vendor-specified material density, a standard reference potential, or a rated capacity on a specification sheet.

Subjective properties, by contrast, depend on human perception or judgment, such as aesthetic appeal or perceived roughness. These are important for some domains (e.g., quality assessment, usability) but are not expressed numerically in the same way as quantities.

Quantities: Measurable Properties#

A Quantity in EMMO is defined as a quantifiable property of a phenomenon, body, or substance. All quantities are therefore properties, but not all properties are quantities.

Quantities allow us to express how much of something exists — mass, length, time, current, temperature, etc. The SI Brochure defines a quantity as “the product of a number and a unit.” For example:

  • Diameter: 1.8 cm

  • Mass: 1.4 kg

  • Electric resistance: 50 Ω

Structure of Quantities in EMMO#

Quantities are represented as a composite of two parts:

  1. Numerical Part — the numeric value (scalar, vector, or tensor).

  2. Measurement Unit — the unit that gives the number meaning.

These are connected through:

  • emmo:hasNumericalPart

  • emmo:hasMeasurementUnit

Example — Expressing a Quantity (Mass) in EMMO

{
  "@context": "https://w3id.org/emmo/domain/electrochemistry/context",
  "@graph": [
    {
      "@type": "PhysicalObject",
      "hasProperty": {
        "@type": "Mass",
        "hasNumericalPart": {
          "@type": "emmo:RealData",
          "hasNumberValue": 1.4
        },
        "hasMeasurementUnit": "emmo:Kilogram"
      }
    }
  ]
}

This expresses that a PhysicalObject has a property of type Mass — a Quantity — with a value of 1.4 kilograms.

Base and Derived Quantities#

Quantities follow the SI structure of base, derived, and dimensionless types.

Derived quantities combine base quantities (through multiplication or division):

  • Velocity = length / time → emmo:MetrePerSecond

  • Force = mass × acceleration → emmo:Newton

  • Energy = force × distance → emmo:Joule

Scalar, Vector, and Tensor Quantities#

Quantities can represent scalar values (single numbers), vectors (ordered lists), or tensors (matrices). The numerical part is typed accordingly:

  • emmo:RealData — single numeric value.

  • emmo:ArrayData — vector of numbers.

  • emmo:MatrixData — multi-dimensional numeric structure.

Example — Vector Quantity

{
  "@type": "Velocity",
  "hasNumericalPart": {
    "@type": "emmo:ArrayData",
    "hasNumberValue": [3.0, 1.2, -0.5]
  },
  "hasMeasurementUnit": "emmo:MetrePerSecond"
}

Dimensionless Quantities#

Some quantities, like relative humidity or refractive index, are dimensionless. They can be represented using emmo:UnitOne or by omitting the unit entirely if context makes it clear.

Examples:

  • Relative humidity = 0.65

  • Refractive index = 1.52

  • Number of cycles = 250

Linking Properties to Entities#

Properties are always about something. In EMMO, this relationship is typically expressed with emmo:hasProperty, but there are two equivalent modeling approaches you can choose depending on your use case.

1. Using dedicated object properties

EMMO defines specialized subproperties of hasProperty such as hasMeasuredProperty, hasModelledProperty, and hasConventionalProperty. These explicitly indicate how the property value was obtained.

{
  "@context": "https://w3id.org/emmo/domain/electrochemistry/context",
  "@type": "PhysicalObject",
  "hasConventionalProperty": {
    "@type": "Mass",
    "hasNumericalPart": {
      "@type": "emmo:RealData",
      "hasNumberValue": 1.4
    },
    "hasMeasurementUnit": "emmo:Kilogram"
  }
}

This states that the PhysicalObject has a ConventionalProperty of type Mass equal to 1.4 kg — for instance, a value read from a vendor datasheet or standard specification.

2. Using dual typing

Alternatively, you can use the general hasProperty relation and make the property instance a member of both Mass and ConventionalProperty (or MeasuredProperty, ModelledProperty, etc.). This approach is more compact and is often preferred when serializing to JSON-LD or RDF.

{
  "@context": "https://w3id.org/emmo/domain/electrochemistry/context",
  "@type": "PhysicalObject",
  "hasProperty": {
    "@type": ["Mass", "ConventionalProperty"],
    "hasNumericalPart": {
      "@type": "emmo:RealData",
      "hasNumberValue": 1.4
    },
    "hasMeasurementUnit": "emmo:Kilogram"
  }
}

Both patterns are semantically equivalent and fully compatible with EMMO. Choose whichever fits your data workflow and tooling best:

  • Dedicated subproperties (hasMeasuredProperty, etc.) make provenance clear at the relation level and are ideal for SHACL validation or SPARQL queries.

  • Dual typing keeps data compact and is easier to generate automatically in JSON-LD or programmatic exports.

In both cases, EMMO ensures that properties remain logically connected to the entity they describe and can be reasoned over according to their physical and provenance types.

Why this structure matters#

  • It reflects the ontology hierarchyQuantity Property.

  • It keeps numerical information attached to the property itself.

  • It supports validation and reasoning (e.g., checking that mass properties have units of mass).

  • It distinguishes between measured, modelled, and conventional data origins.

Reasoning and Validation#

Because each Quantity links its type, unit, and value, EMMO supports automatic checks and reasoning such as:

  • Verifying that the unit is dimensionally consistent with the property type.

  • Converting units to a standard system (e.g., SI) for comparison.

  • Inferring derived quantities (e.g., compute density from mass and volume).

  • Ensuring only Quantity-type properties contain numerical parts.

Summary#

  • Property — any descriptive characteristic of an entity.

  • Quantity — a subclass of Property that is measurable (has a number and a unit).

  • MeasuredProperty, ModelledProperty, and ConventionalProperty — refine how the value was obtained.

  • Properties can be scalar, vector, or tensor-valued.

  • All properties are connected to the entity they describe using hasProperty.

  • This structure makes EMMO-based data explicit, consistent, and interoperable across domains.

In short: > Every Quantity is a Property — but not every Property is a Quantity.