The EXPRESS Language
EXPRESS is the formal information modeling language used throughout ISO 10303 to define the structure, constraints, and relationships of product data.
Language Overview
EXPRESS is a schema-based language that defines:
Entities - Object types with attributes (like classes)
Types - Named data types (enumerations, selects, etc.)
Rules - Constraints that must hold for valid data
Functions - Reusable logic used in rules and derivations
Constants - Named constant values
Schemas - Namespaces that group related definitions
Entity Definitions
An entity is the primary building block:
ENTITY product;
id : STRING;
name : STRING;
description : OPTIONAL STRING;
END_ENTITY;Entities support inheritance (subtyping):
ENTITY printed_circuit_assembly
SUBTYPE OF (product);
number_of_layers : INTEGER;
END_ENTITY;Data Types
EXPRESS provides several data types:
Simple types:
INTEGER,REAL,STRING,BOOLEAN,LOGICAL,BINARYAggregation types:
ARRAY,LIST,SET,BAGEnumeration types: user-defined sets of named values
Select types: union of named types
Named types: references to defined entities or types
Constraints
EXPRESS supports several constraint mechanisms:
WHERE rules - Local constraints on entity instances
UNIQUE rules - Uniqueness constraints on attribute combinations
Global rules - Constraints spanning multiple entity instances
Inverse attributes - Cardinality constraints on relationships