EXPRESS-G is the graphical notation companion to the EXPRESS language. While the textual form of EXPRESS is complete and machine-processable, it can be difficult for non-specialists to grasp the overall structure of a large schema by reading code alone. EXPRESS-G addresses this by providing a visual representation of entity-relationship structures, inheritance hierarchies, and attribute connections using standardized symbols and line styles.
EXPRESS-G is defined in ISO 10303-11 as an integral part of the EXPRESS standard. Any EXPRESS schema can be represented in EXPRESS-G, although the graphical notation does not capture all EXPRESS constructs — in particular, algorithmic details such as FUNCTION bodies, RULE logic, and WHERE rule expressions are not shown graphically.
Purpose
EXPRESS-G serves two primary purposes in the data modelling workflow:
Developing a new EXPRESS data model — EXPRESS-G diagrams serve as the primary design artifact. Modellers sketch entity types, their attributes, and relationships visually, then refine the design iteratively before producing the textual EXPRESS schema. Most EXPRESS-G tools can generate a lexical (textual) version of the diagram automatically.
Documenting an existing EXPRESS schema — for large, established schemas such as the STEP integrated resources or application protocols, EXPRESS-G diagrams provide a navigable overview that helps readers understand the schema’s structure, locate specific entities, and trace relationships between them.
Symbol Types
EXPRESS-G uses a concise set of symbols to represent the key EXPRESS concepts:
Data Type Symbols
| Symbol | Represents |
|---|---|
Bold rectangle | Entity type |
Thin rectangle | Defined type (TYPE declaration) |
Dashed rectangle | SELECT type |
Enumeration box | ENUMERATION type |
Simple type box | Simple types (INTEGER, REAL, STRING, etc.) |
Circle with number | Page cross-reference |
Bold rounded rectangle | SCHEMA |
Color Conventions
Color is not formally part of the EXPRESS-G specification, but many tools use color to enhance readability. Common conventions include:
Entity types — bold outlines, often in dark blue or black
Defined types — lighter outlines
SELECT types — dashed outlines in a distinct color
Simple types — small boxes with minimal styling
Consistent use of color within an organization helps readers quickly distinguish between different kinds of schema elements.
Reading an EXPRESS-G Diagram
To read an EXPRESS-G diagram effectively:
Identify the entities — the bold rectangles are the main data types. Each entity has a name and a list of attributes.
Follow the attribute lines — solid lines connect entities to their attribute types. The line label shows the attribute name, and the cardinality (e.g.,
S[1:?]for a SET) is often shown near the endpoint.Trace inheritance — thick lines indicate subtype/supertype relationships. The subtype end typically has a distinctive marker.
Check schema interfaces — open arrows pointing to other schemas indicate USE FROM or REFERENCE FROM declarations, showing dependencies between schemas.
Navigate cross-page references — in large schemas, circles with page/position numbers allow you to follow relationships across multiple diagram pages.
Entity Symbols in Detail
An entity symbol in EXPRESS-G shows:
The entity name at the top
Attribute names and their types below
Cardinality indicators for aggregation-valued attributes
Markers for inverse, derived, and optional attributes
For example, the entity:
ENTITY Person;
name : STRING;
lives_in : Address;
owns : SET OF Telephone;
END_ENTITY;Would appear as a bold rectangle labeled Person with three attribute lines: name pointing to a STRING box, lives_in pointing to an Address entity box, and owns (with S[1:?] cardinality) pointing to a Telephone entity box.
Expressiveness Limitations
EXPRESS-G does not capture every detail of an EXPRESS schema. The following constructs have no graphical representation:
FUNCTION and PROCEDURE bodies
WHERE rule expressions (though their presence is marked)
RULE logic
CONSTANT values
Algorithmic details of DERIVE attributes
For these, the textual EXPRESS representation is authoritative. EXPRESS-G is best understood as a complementary notation — ideal for understanding structure and relationships, but not a replacement for the full textual schema.
Multi-Page Diagrams
Real-world EXPRESS schemas typically contain dozens or hundreds of entities, making it impossible to fit the entire diagram on a single page. EXPRESS-G handles this through page cross-references:
Each entity has a page number and position identifier
Lines that cross page boundaries terminate in circles containing the target page/position
Readers navigate by following these cross-references
For example, a PDM Schema might span 40 pages, with the product entity on page 1 and the document entity on page 5. A relationship line from product to document would end in a circle marked 5,12 (page 5, position 12).
Using EXPRESS-G in Practice
When working with EXPRESS-G:
Start with the big picture — identify the core entities and their primary relationships before diving into details
Use tools that support navigation — interactive EXPRESS-G viewers allow clicking on cross-references to jump to related entities
Export for documentation — most tools can export EXPRESS-G diagrams to formats suitable for inclusion in technical documentation (HTML, RTF, SVG, PNG)
Keep diagrams focused — for large schemas, create focused views that show only the entities relevant to a particular concern
EXPRESS-G visualization tools typically support both the creation of new schemas and the generation of diagrams from existing textual EXPRESS schemas.