This page defines one reusable access strategy for Grunddatamodellen datasets.
Use this as a shared pattern for CVR, DAR, Matrikel, DAGI, and related registries.
Decision Table
| Access mode | Best when | Typical output shape | Cost profile |
|---|---|---|---|
GraphQL | Hard filters known early (status, municipality, code lists, time windows) | Targeted record subsets | Lower post-processing, higher query design effort |
Filedownload | Broad extraction/snapshot needed | One file per normalized entity | Fast bulk extraction, higher join and reconciliation effort |
Shared Workflow
Step 1: Choose temporal mode first
Before query design, declare one mode:
- current
- temporal
- bitemporal
See Shared Temporal Superclass Contract.
Step 2: Select extraction mode
- GraphQL for selective extraction
- Filedownload for broad extraction
Step 3: Normalize to analysis model
Grunddata entities are heavily normalized.
A general reconstruction pattern is:
- choose anchor entity
- attach relation entities by shared IDs
- resolve one-to-many expansions
- publish analysis-ready view(s)
Step 4: Run quality gates
- temporal-mode declaration is present
- join coverage/match rate is measured
- duplicates introduced by relation joins are reported
- status filter assumptions are documented
AI-Facing Contract
Machine-readable version:
Dataset-specific playbooks should inherit this pattern and only add domain-specific overrides.