Afgeleide Expressions
Een belangrijk inzicht uit de brainstorm 2026-05-12: afgeleide Expressions zijn een breed patroon, niet een uitzonderingsgeval.
Het patroon
Een afgeleide Expression is een nieuwe versie die intellectueel afgeleid is van een andere Expression via een gedefinieerde transformatie. De afgeleide versie heeft:
- Eigen
id - Eigen
expression_aard(een waarde uit de afgeleide-set) - FK
afgeleid_van_versie_idnaar de bron-Expression - Eigen
full_textofcontent_refs— de content verschilt van de bron
Zeven concrete instances
| Aard | Bron-transformatie | Wie genereert |
|---|---|---|
geconsolideerd | Cumulatieve toepassing van alle relevante wijzigings-Expressions op een base-Expression | KOOP (Bw 19) — verplicht |
zakelijke_weergave | Inhoudelijke samenvatting volgens BEP 3.7-vereisten | Bestuursorgaan zelf — bij kennisgeving |
mutatie | Delta tussen twee Expressions, in renvooi-stijl | STOP-conformeerde tool — automatisch |
rectificatie | Tekstuele correctie zonder juridische wijziging | Bestuursorgaan — bij gebleken typfout |
renovatie | Aanpassing aan STOP-conformiteit | KOOP / bestuursorgaan — bij overstap naar Ow-stelsel |
anonimisering | Verwijdering van persoonsgegevens | Raad voor de rechtspraak — bij uitspraak-publicatie |
vertaling | Anderstalige rendering | Bestuursorgaan — voor BES + FY + Pap |
extract | Selectie uit groter document | Wij (Beleidsscan) — voor LLM-context |
Waarom geen Manifestation-keuze?
Een geconsolideerde tekst is inhoudelijk anders dan een vaststellings-tekst (al staat het een dichter bij het ander dan een vertaling). De woorden, de structuur, de versie-stempel verschillen. Per FRBR: andere inhoud → andere Expression, niet andere Manifestation.
Een Manifestation is alleen een format-keuze: zelfde Expression als PDF / als HTML / als XML. De geconsolideerde Expression heeft zelf meerdere Manifestations (PDF op wetten.overheid.nl + XML in LVBB + etc.) — en al die Manifestations renderen dezelfde geconsolideerde content.
Schema-shape
ALTER TABLE instrument.versies
ADD COLUMN expression_aard TEXT NOT NULL REFERENCES catalogus.expression_aarden(id),
ADD COLUMN afgeleid_van_versie_id UUID REFERENCES instrument.versies(id),
ADD CONSTRAINT afgeleide_versie_aard CHECK (
(afgeleid_van_versie_id IS NULL
AND expression_aard IN ('vastgesteld','gewijzigd','ingetrokken','ontwerp'))
OR
(afgeleid_van_versie_id IS NOT NULL
AND expression_aard IN ('geconsolideerd','zakelijke_weergave','mutatie',
'rectificatie','renovatie','anonimisering',
'vertaling','extract'))
);CHECK-by-construction: een primaire aard ZELFS GEEN bron-FK; een afgeleide aard moet er wel een hebben. Geen ruimte voor "dit-is-een-vaststellings-versie-maar-toch-afgeleid-van"-incoherentie.
Onderliggende ADRs
- ADR-0037 §4-5 — afgeleide-Expression-patroon + de gesloten enum