Skip to content

6.13.2.5 Period

6.13.2.5.1 Purpose

A validity interval for registry facts such as ownership and memberships. Each end carries an explicit state, so an open end, an unknown end and an unknown start are different things that the database can check.

6.13.2.5.2 Fields

Field Type Cardinality Description
valid_from datetime 0..1
start_state enum 1..1 Values: known, unknown. Default: known.
Known requires valid_from; unknown has none. An unknown start is never replaced by an import date.
valid_until datetime 0..1
end_state enum 1..1 Values: known, open, unknown. Default: open.
Known requires valid_until; open and unknown have none. open = explicitly no end; unknown = not established, never treated as open. When both ends are known, valid_until ≥ valid_from.

6.13.2.5.3 Relationships

Used by

6.13.2.5.4 Rules & constraints

  • Validity interval of a registry fact. Each end carries an explicit state, so the database can enforce it: no three-valued column, same shape as ObservedPeriod.
  • Interval [valid_from, valid_until): start included, end excluded.
  • Constraints between periods (no overlap, uniqueness over validity) are enforced with a range exclusion constraint on the known bounds. An unknown bound counts as unbounded in that check, which is the conservative reading: it can only make two periods overlap, never hide an overlap; the writer then raises a DataIssue (kind impossible_sequence) instead of storing the row.