Skip to content
EN FR

Relations

Documentation status: reference — see Maturity and evidence.

Relations express domain structure between multiple participants. A relation may remain a simple link or become a reified fact when it has its own identity, attributes, or lifecycle.

Roles

Role names are part of the model. They should express the meaning of each participant rather than a storage constraint.

fields:
  - ProjectId:
      type: String
      rolePath: Project.Id
  - TaskId:
      type: String
      rolePath: Task.Id

Binary or polyadic relation

Do not force a binary relation when the business fact involves several participants. A polyadic relation keeps that meaning explicit in the conceptual model.

Persistence

Relational keys and columns are projections. Keep the conceptual vocabulary (Project, Task, roles, relation identity) in the model and let the persistence facet express the technical mapping.