Skip to main content
diagram

Structure

Relationships are defined as a top-level array in the data model YAML, alongside domainModelTypes:
Each entry connects a source entity type (from) to a target entity type (to), specifies a cardinality, a storage mechanism, a link role, and two navigation properties that allow traversal in both directions.

Relationship Properties

The from and to fields must reference names defined in domainModelTypesnot Polarion work item type IDs. For example, use UserNeed (the entity type name), not user_need (the Polarion type ID).
Every relationship creates navigation properties on the participating entity types. These properties enable:
  • Expansion paths in sheet source configurations
  • Column bindings using dot-notation in sheet column definitions
  • Query traversal across related entity types
Navigation properties are defined using the direct and back objects:
In this example:
  • UserNeed gains the navigation property chapter (forward, to the Chapter entity)
  • Chapter gains the navigation property userNeeds (reverse, back to UserNeed entities)

Naming Conventions

Navigation property names follow camelCase convention. Use singular names for scalar references and plural names for collection references. This naming directly maps to source expand entries and column binding paths.

Cardinality Options

The cardinality property determines how many entities can participate on each side of the relationship: Cardinality affects three layers of configuration:
  1. Data model — determines navigation property type (scalar vs. collection)
  2. Sheet sources — determines expand pattern (single-level vs. two-level for M:N)
  3. Sheet columns — determines binding syntax and UI behavior (picker vs. child rows)
See Cardinality for complete documentation on each option.

Storage

The storage property specifies how the relationship is persisted in Polarion.
The linkedWorkItems storage mechanism is the only supported option. It leverages Polarion’s built-in linked work items infrastructure, which stores relationships as typed links between work items using the configured linkRole.
The linkRole value must correspond to a link role defined in the Polarion project configuration. Common link roles used in data models: See Link Roles for detailed documentation on configuring and using Polarion link roles.

Permission Control

Relationships support permission flags that control CRUD operations through the sheet:
Permission flag behavior may depend on your Polarion project permissions and Powersheet version. Test in your environment to confirm the exact behavior.
Navigation property names created by relationships flow directly into sheet configuration. The three configuration layers — data model, sheet sources, and sheet columns — are connected through these navigation property names. The cardinality of the relationship determines the expand pattern and column binding syntax.

Many-to-One (N:1)

A scalar reference from source to a single target entity. Uses the direct navigation property. Data model:
Source configuration:
Column bindings:
  • chapter — single-value reference picker (scalar navigation property, N:1)
  • chapter.title — read-only display of the referenced Chapter’s title via dot-notation

One-to-Many (1:N)

A collection of child entities accessible from a parent. Uses the back navigation property (reverse side of a many-to-one relationship). Source configuration:
Column bindings:
  • userNeeds — expands into child rows, creating a new level in the sheet hierarchy
  • No dot-notation needed; the expand directly opens the child level

Many-to-Many (M:N)

Collections on both sides, navigated through an association entity. Uses a two-level expand. Data model:
Source configuration:
Column bindings:
  • M:N relationships use an association entity between the two types
  • Source expand is two levels: systemRequirements (association) then systemRequirement (target entity)
  • Column binding uses dot-notation: systemRequirements.systemRequirement
  • Acts as a multi-item reference picker in the sheet UI

Cardinality Summary

Complete YAML Example

A full data model demonstrating all relationship cardinalities across the standard RTM entity types:
This model creates a full traceability chain: Chapter > UserNeed > SystemRequirement > DesignRequirement > Hazard > RiskControl. Each relationship uses linkedWorkItems storage with an appropriate Polarion link role, and defines both direct and back navigation properties for bidirectional traversal.
  • Cardinality — detailed rules for each cardinality option
  • Link Roles — configuring Polarion link roles for relationships
  • Data Model Types — entity type definitions referenced by from and to
  • Navigation Directions — how direction properties work internally
  • Binding Syntax — using navigation properties in column bindings
  • Sources — configuring expand paths that use navigation properties
  • Constraints — filtering constraints applied to entity types in relationships
Last modified on July 10, 2026