Informatievlaanderen / OSLOthema-wegenenverkeer

De datastandaarden betrokken bij het thema wegenenverkeer.
2 stars 4 forks source link

VOC en IM algemeen - aanpak enumeraties is niet OSLO compliant #35

Closed mvanbrab closed 5 years ago

mvanbrab commented 5 years ago

Alle enumeraties blijken een eigen uri te hebben. Voorbeeld uit VOC onderdeel: https://data.vlaanderen.be/ns/wegenenverkeer/onderdeel#BoomBoomspiegel.

Dat is niet de OSLO oplossing voor enumeraties, dewelke is:

1. Enumeraties worden ingevuld aan de hand van een codelijst.
Om in verband te kunnen gebracht worden met een codelijst, moet een enumeratie in het UML model een "uri" tag hebben gelijk aan "http://www.w3.org/2004/02/skos/core#Concept" (skos:Concept).
Let wel, eventuele in de enumeratie aangebrachte entries zijn enkel illustratief. De codelijst bevat de effectief mogelijke waarden.
Verder noemen we zo'n enumeratie een codelijst-enumeratie.

2. Elke enumeratie moet een codelijst-enumeratie zijn.

3. Om in verband te kunnen gebracht worden met een codelijst, moet een attribuut/connector in het UML model of (a) als type een codelijst-enumeratie hebben of (b) een "range" tag hebben gelijk aan "http://www.w3.org/2004/02/skos/core#Concept" (skos:Concept).
Verder noemen we zo'n attribuut/connector een codelijst-attribuut/connector.
In geval (a) noemen we de betreffende codelijst-enumeratie verder de gelinkte codelijst-enumeratie.

4. Een "ap-codelist" tag mag enkel worden aangebracht op een codelijst-enumeratie of een codelijst-attribuut/connector.
Dit wordt enkel in het applicatieprofiel gedaan.
Opgelet, elke codelijst-enumeratie moet op het diagram staan, bij voorkeur onderaan en in groene kleur, maar wordt ter vermijding van verwarring niet mee gekopieerd naar de visuele kopie van het diagram die in de specificatie wordt getoond (overview.jpg).

5. Een codelijst-attribuut/connector moet of (a) een "ap-codelist" tag hebben of (b) een gelinkte codelijst-enumeratie met aangebrachte "ap-codelist" tag hebben.
De "ap-codelist" tag uit geval (a) heeft prioriteit over die uit geval (b), die dus als default waarde geldt.

6. De corresponderende codelijst moet gepubliceerd staan op de url die ingevuld is in de "ap-codelist" tag.

Pas dus in de vocabularia de enumeraties aan tot ze "codelijst-enumeraties" zijn zoals hierboven beschreven en doe in de implementatiemodellen zoals hierboven beschreven voor applicatieprofielen.

Merk op: deze oplossing is in tegenstrijd met https://github.com/Informatievlaanderen/OSLOthema-wegenenverkeer/issues/3#issuecomment-503316130 en met #32, maar hiervoor is wel consensus met Bert en Geert.

Merk ook op dat als gevolg de enumeraties niet meer ten onrechte zullen voorkomen bij de Klassen in de VOC spec. Als nadeel kan worden opgemerkt dat hierdoor de definitie verloren gaat, maar deze hoort eveneens thuis in de codelijst zelf.

GeoniusInfra commented 5 years ago

IS dit dan de correcte implementatie :

Ap-codelist

mvanbrab commented 5 years ago

In het IM ziet dat er goed uit. Algemeen:

Ik spreek me niet uit over de waarde van de url in de ap-codelist. @bertvannuffelen?