Expand Configuration Properties
The expand clause is configured in thesources[].expand array of the sheet configuration YAML:
| Name | Type | Default | Description |
|---|---|---|---|
name | string | Required | Navigation property name to expand, as defined in the domain model relationships |
title | string | None | Display title for the expanded entity group in the sheet header |
expand | array | None | Nested expand definitions for multi-level relationships |
Expansion Path Syntax
Expansion paths follow the navigation properties defined in the domain model. Eachname must correspond to a relationship property on the parent entity type.
Single-Level Expansion
Load direct children of the root entity:Multi-Level Expansion
Load grandchildren and deeper by nestingexpand arrays:
Parallel Branches
A single entity type can expand multiple navigation properties at the same level:Relationship Types and Expansion
| Relationship | Expansion Pattern | Example |
|---|---|---|
| Many-to-one | Single name property | story (Task expands to its parent Story) |
| One-to-many | Single name collection | tasks (Story expands to child Tasks) |
| Many-to-many | Two-level dot notation: association.target | requirements.requirement (Story through association to Requirement) |
Many-to-One Expansion
Expand a single parent from a child entity:One-to-Many Expansion
Expand a collection of children from a parent entity:Many-to-Many Expansion
Many-to-many relationships use association entities. The expansion navigates first to the association, then through to the target:requirements.requirement in column binding paths.
Expand and Column Binding Alignment
Every column with a navigation binding path must have a corresponding expansion path in the sources configuration. The expand hierarchy must match the column binding path structure.| Column Binding Path | Required Expand |
|---|---|
title | None (direct property) |
systemRequirements.systemRequirement.title | expand: [{ name: systemRequirements }] |
systemRequirements.systemRequirement.designRequirements.designRequirement.title | Nested: systemRequirements > designRequirements |
Performance Considerations
- Each expand level adds query overhead. Deep expansions (4+ levels) may impact load time.
- Expand paths are converted to dot-notation strings for query execution, enabling related entities to be loaded in a single server request rather than multiple round-trips.
- The query engine pre-fetches all expanded entities, so all data is available for display when the sheet renders.
The maximum supported expand depth and performance characteristics depend on the Polarion server configuration and the number of entities at each level.
Complete YAML Example
Related Pages
- EntityQuery — top-level query containing the expand clause
- Sources — YAML configuration for data sources and expansion
- Binding Syntax — column binding paths that correspond to expand paths
- Relationships — domain model relationships that define available navigation properties
- Navigation Directions — upstream/downstream expansion direction
Sources: Code: ExpandClause.java, QueryDataTest.java, PolarionQueryProcessor.java, test-viewModel.ts, constraints_currentDocument_downstream.template.yaml
Sources
Sources
Source Code
PolarionQueryProcessor.javaQueryDataTest.javaprod-powersheet-src/com.nextedy.powersheet.client/cypress/fixtures/configurations/constraints_currentDocument_downstream.template.yamlprod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/__tests__/test-viewModel.tsprod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/packages/common/types/domain/document.ts