diff --git a/.github/workflows/verslagen-generate-index.yaml b/.github/workflows/verslagen-generate-index.yaml
new file mode 100644
index 0000000..a75c30b
--- /dev/null
+++ b/.github/workflows/verslagen-generate-index.yaml
@@ -0,0 +1,46 @@
+name: Generate Verslagen Index
+
+on:
+ workflow_dispatch:
+ push:
+ paths:
+ - 'docs/verslagen/**'
+
+jobs:
+ generate_index:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Generate Index
+ run: |
+ cd docs/verslagen
+ echo "# Verslagen" > index.md
+ echo "" >> index.md
+
+ for dir in */; do
+ dir=${dir%/}
+ if [ -d "$dir" ]; then
+ echo "## $dir" >> index.md
+ find "$dir" -type f | while read -r file; do
+ file_link=$(echo "$file" | sed 's/ /%20/g')
+ file_name=$(basename "$file")
+ echo "- [$file_name]($file_link)" >> index.md
+ done
+ echo "" >> index.md
+ fi
+ done
+
+ # for dir in /; do
+ # dir=${dir%/}
+ # if [ -d "$dir" ]; then
+ # echo "## $dir" >> index.md
+ # find "$dir" -type f -printf "- [%f](%p)\n" | sort >> index.md
+ # echo "" >> index.md
+ # fi
+ # done
+ - name: Commit changes
+ uses: stefanzweifel/git-auto-commit-action@v4
+ with:
+ commit_message: Update verslagen-index na upload
diff --git a/docs/techdoc/docs/imbor-distributie.md b/docs/techdoc/docs/imbor-distributie.md
index 989ed92..1cd7af2 100644
--- a/docs/techdoc/docs/imbor-distributie.md
+++ b/docs/techdoc/docs/imbor-distributie.md
@@ -1,20 +1,22 @@
## IMBOR distributie
Voor de gebruiker van IMBOR wordt een inkijkmogelijkheid (publicatie) van IMBOR op meerdere manieren gegeven:
-* De gedistribueerde Access database biedt middels formulieren de mogelijkheid om direct IMBOR te raadplegen
-* Middels voorgedefinieerde queries op de CROW SPARQL webapplicatie
-* De vocabulair van IMBOR is te raadplegen via het thesaurus platform van CROW [begrippen.crow.nl](https://begrippen.crow.nl/)
-* In de loop van 2022 wordt een ontologie viewer ter beschikking gestelt
+* Via een online viewer: [imbor-viewer.apps.crow.nl](https://imbor-viewer.apps.crow.nl)
+* Via formulieren in een MS Access database
+* Via voor gedefinieerde query’s op de [CROW SPARQL webapplicatie](https://sparql.crow.nl/ldp)
+* Via het [begrippen platform](https://begrippen.crow.nl/imbor/nl/) van CROW is het begrippenkader (vocabulaire) van IMBOR te raadplegen
-Al deze vormen van publicatie zijn zonder kosten te raadplegen. Voor de CROW SPARQL webapplicatie is wel een [MijnCROW account][mijncrow] nodig.
+Al deze vormen van publicatie zijn _zonder kosten_ te raadplegen. Voor de [CROW SPARQL webapplicatie](https://sparql.crow.nl/ldp) is wel een [MijnCROW account][mijncrow]nodig.
-Wanneer IMBOR geïmplementeerd moet worden in software is uiteraard de gehele content beschikbaar. Hiervoor zijn ook twee distributiekanalen:
-* IMBOR tabellen in Access
+Wanneer IMBOR geïmplementeerd moet worden in software is uiteraard de gehele content beschikbaar. Hiervoor zijn ook twee distributiekanalen beschikbaar:
* IMBOR in LinkedData (TTL file en SPARQL-Endpoint)
+* IMBOR tabellen in MS Access database
-Al deze vormen van distributie zijn (voorlopig) zonder kosten te raadplegen; Namelijk voor de SPARQL-Endpoint geldt dat we deze voorlopig onder de noemer van 'pilot' verstrekken. Bij veel gebruik/op termijn wordt gekeken hoe we hier met de kosten gaan omgaan.
+Alle informatie hierover en versies hiervan is/zijn via [GitHub releases](https://github.com/Stichting-CROW/imbor/releases) te raadplegen. Wat betreft het gebruik van IMBOR, raadplegen de sectie over [licenties](#licenties)
-Wat betreft het gebruik van IMBOR, raadplegen de sectie over [licenties](#licenties)
+
+Al deze vormen van distributie zijn (voorlopig) zonder kosten te raadplegen; Namelijk voor de SPARQL-Endpoint geldt dat we deze voorlopig onder de noemer van 'pilot' verstrekken. Bij veel gebruik/op termijn wordt gekeken hoe we hier met de kosten gaan omgaan.
+
-
-
-De IMBOR Ontologie viewer is nog in ontwikkeling en zal in de loop van 2022 klaar zijn.
-
-
-
-
### IMBOR in MS Access
Omdat IMBOR momenteel nog beheerd wordt in MS Access is het fysieke datamodel hier van toepassing. Middels het fysieke datamodel diagram wordt een uitleg gegeven hoe deze geïnterpreteerd moet worden.
@@ -75,7 +70,7 @@ In het diagram van het fysieke datamodel wordt dit ook aangegeven door de groene
Alle tabellen die invulling geven aan de vocabulaire.
##### imborVoc_Termen
-Deze tabel is onderdeel van het begrippenkader van IMBOR kan gezien worden als de vocabulaire. Zoals eerder vermeld heeft deze binnen Access een speciale status omdat hier de `IMBORGUID` ook gedeclareerd wordt voor de meeste elementen. Bijna alle tabellen halen hier informatie op. De tabel geeft inrichting aan het Niveau 1 van MIM (Model van begrippen) en aan de SKOS taalbindingen uit de NEN2660.
+Deze tabel is onderdeel van het begrippenkader van IMBOR kan gezien worden als de vocabulaire. Zoals eerder vermeld heeft deze binnen Access een speciale status omdat hier de `IMBORGUID` ook gedeclareerd wordt voor de meeste elementen. Bijna alle tabellen halen hier informatie op. De tabel geeft inrichting aan het Niveau 1 van MIM (Model van begrippen) en aan de SKOS taalbindingen uit de [NEN2660-2:2022][nen2660:2022].
Speciaal geval is ook de kolom `KlasseType`. Deze is gekoppeld aan de `IMBORGUID` zoals hiervoor vermeld. `KlasseType` geeft aan of een IMBOR concept geïnstanteerd kan worden (`Concreet`) of niet (`Abstract`).
##### imborVoc_Collecties
@@ -87,7 +82,7 @@ De enige andere tabel in het begrippenkader naast `imborVoc_Termen`. Dit betreft
Alle tabellen die invulling geven aan het IMBOR kernmodel.
##### imborKern_Klassen
-Klasse is een nieuw begrip vanaf IMBOR2022. Het kan gelijkgesteld worden aan het NEN2660-2 "Concept". Het is hiermee ook een supertype van bijvoorbeeld `Objecttype` en `InformatieObject`.
+Klasse is een nieuw begrip vanaf IMBOR2022. Het kan gelijkgesteld worden aan het [NEN2660-2:2022][nen2660:2022] "Concept". Het is hiermee ook een supertype van bijvoorbeeld `Objecttype` en `InformatieObject`.
De klassenstructuur is een polyhiërarchie. Dit betekent dat een child, meerdere parents kan hebben. Of in IMBOR termen gezegd: Een `Objecttype` of `Klasse` erft van meerdere `Klasse` attributen over. Dit is gedaan zodat we flexibeler om kunnen gaan bij welke klassen een `Objecttype` hoort en daarmee een `Objecttype` geen onnodige attributen krijgt. Er zullen een aantal `Klasse` 'disjoint' zijn, maar dat is nog niet expliciet opgenomen.
@@ -95,7 +90,7 @@ Er zijn `Klasse` die 1-op-1 overeenkomen met een `Objecttype`. Dit is intentione
In `imborKern_Klassen` komen o.a. "Objecttypen", "Klassen", "ObjecttypeOnderdelen" en "Informatieobjecten" voor. Dit lijkt vreemd, maar is correct omdat het technisch gezien allemaal `Klasse` zijn (ofwel: subtypen van `Klasse`)
-We nemen `InformatieObject` op als `Klasse`, daarmee kunnen we concrete 'klassen' introduceren zoals `document` en `memo`. Deze zijn dan te instantiëren en te relateren (doormiddel van de relatie `isBeschrevenDoor`) aan `Objecttype`n. Hiermee kan de klasse `InformatieObject` ook gerelateerd worden aan de NEN2660-2.
+We nemen `InformatieObject` op als `Klasse`, daarmee kunnen we concrete 'klassen' introduceren zoals `document` en `memo`. Deze zijn dan te instantiëren en te relateren (doormiddel van de relatie `isBeschrevenDoor`) aan `Objecttype`n. Hiermee kan de klasse `InformatieObject` ook gerelateerd worden aan de [NEN2660-2:2022][nen2660:2022].
@@ -137,7 +132,7 @@ Met deze tabel wordt aangegeven binnen welke `Vakdiscipline` een `Objecttype` ka
##### imborKern_K_ObjecttypenSemantischeRelaties
-De introductie van semantische relaties (betekenisvolle relaties) is samen met de introductie van de klassen de grootste wijziging t.o.v. IMBOR2020-08. Met deze introductie is een generieke manier gecreëerd om relaties tussen `Klasse` te beschrijven. In deze tabel zijn de relaties opgenomen die normerend zijn binnen de IMBOR ontologie (inclusief hun multipliciteit). De relaties zelf ontlenen hun semantiek aan de NEN2660-2.
+De introductie van semantische relaties (betekenisvolle relaties) is samen met de introductie van de klassen de grootste wijziging t.o.v. IMBOR2020-08. Met deze introductie is een generieke manier gecreëerd om relaties tussen `Klasse` te beschrijven. In deze tabel zijn de relaties opgenomen die normerend zijn binnen de IMBOR ontologie (inclusief hun multipliciteit). De relaties zelf ontlenen hun semantiek aan de [NEN2660-2:2022][nen2660:2022].
Deze lijst is voorschrijvend, maar niet limitatief. In de implementatie mag een gebruiker zelf kiezen welke relaties er tussen de verschillende klassen aangegeven mag worden. Als er een relatie ontbreekt kan deze in de eigen implementatie gewoon gelegd worden. Uiteraard wil de IMBOR beheercommissie graag op de hoogte gehouden worden van deze inzichten.
@@ -166,10 +161,10 @@ Ook de LinkedData versie van IMBOR (IMBOR-LD) is volgt de modulaire indeling. In
- `imbor-domeinwaarde:*` zijn alle domeinwaarden binnen IMBOR (dit zijn instanties). Deze staan in een aparte graaf vanwege de overzichtelijkheid.
- `imbor-refmodels:*` zijn de concepten waarin externe ontologien aangehaald worden. Hier staan de benodigde gegevens om relaties naar toe te kunnen leggen.
-Omdat IMBOR een extensie is van de NEN2660-2 is de IMBOR kern direct 'gesubclassed' aan de NEN2660-2 concepten. Vandaar dat de concepten die we gebruiken uit de NEN2660-2 afgebeeld zijn met de prefix `nen2660:*`.
+Omdat IMBOR een extensie is van de [NEN2660-2:2022][nen2660:2022] is de IMBOR kern direct 'gesubclassed' aan de [NEN2660-2:2022][nen2660:2022] concepten. Vandaar dat de concepten die we gebruiken uit de [NEN2660-2:2022][nen2660:2022] afgebeeld zijn met de prefix `nen2660:*`.
-In de NEN2660-2 zit een kleine inconsistentie met GeoSPARQL. Er wordt namelijk niet verteld hoe deze toegepast moet worden. Om dit praktisch op te lossen wordt in de IMBOR Kern gesteld dat: `nen2660:hasBoundary rdfs:subPropertyOf geo:hasGeometry`. Dit kan gezien worden als een verduidelijking van de NEN2660 voor de IMBOR context.
+In de [NEN2660-2:2022][nen2660:2022] zit een kleine inconsistentie met GeoSPARQL. Er wordt namelijk niet verteld hoe deze toegepast moet worden. Om dit praktisch op te lossen wordt in de IMBOR Kern gesteld dat: `nen2660:hasBoundary rdfs:subPropertyOf geo:hasGeometry`. Dit kan gezien worden als een verduidelijking van de [NEN2660-2:2022][nen2660:2022] voor de IMBOR context.
#### Begrippenkader
@@ -183,7 +178,7 @@ Op deze class worden alle attributen vastgelegd die het concept (conceptueel) de
Deze class bevat alle collecties waarin de termen kunnen worden ingedeeld.
#### NEN2660
-Dit zijn alle classes uit de NEN2660-2 waaraan wij ons committeren. De basis betreft het `nen2660:DiscreteObject` (buiten de NEN2660-2 wordt dit ook wel als een 'Fysieke Object' gezien) en de `nen2660:SpatialRegion` (ook wel het 'Ruimtelijk Gebied'). Daarnaast betrekken we het `nen2660:InformationObject` om beschrijvingen toe te voegen en `nen2660:Activity` om functies te kunnen definiëren.
+Dit zijn alle classes uit de [NEN2660-2:2022][nen2660:2022]2 waaraan wij ons committeren. De basis betreft het `nen2660:DiscreteObject` (buiten de [NEN2660-2:2022][nen2660:2022] wordt dit ook wel als een 'Fysieke Object' gezien) en de `nen2660:SpatialRegion` (ook wel het 'Ruimtelijk Gebied'). Daarnaast betrekken we het `nen2660:InformationObject` om beschrijvingen toe te voegen en `nen2660:Activity` om functies te kunnen definiëren.
##### nen2660:DiscreteObject
Gedefinieerd als: "A real object consisting of a contiguous amount of form-retaining matter, held together primarily by internal forces (gravity, electromagnetic force)"
@@ -211,7 +206,7 @@ Het IMBOR kernmodel bevat niet veel meer dan 'Objecten', 'Attributen' en 'Domein
##### imbor:Klasse
-Deze class betreft alle Klassen, `InformatieObject`en en `Objecttype`en die IMBOR bevat. Met het attribuut `dash:abstract` wordt aangegeven of iets abstract (`true`) of concreet (`false`) is. Waarbij met concreet bedoeld wordt dat er in een beheersysteem of bij uitwisseling ook daadwerkelijk instanties van gemaakt zullen worden. Abstracte classes zullen voor eindgebruik niet heel belangrijk zijn en voor de meeste eindgebruikers ook niet zichtbaar zijn. De class heeft verder twee belangrijke relaties naar NEN2660 concepten. Dit betreffen `nen2660:isDescribedBy` die naar het `nen2660:InformationObject` loopt en `nen2660:hasBoundary` die naar de `nen2660:GeometricEntity` loopt. Met de eerste wordt dus aangegeven dat 'meer informatie over het de `imbor:Klasse` te vinden is bij het het `InformatieObject`. Met de tweede wordt aangegeven dat de (concrete) `imbor:Klasse` gebonden is door een geometrie. Ofwel, er kan een geometrie van vastgelegd worden.
+Deze class betreft alle Klassen, `InformatieObject`en en `Objecttype`en die IMBOR bevat. Met het attribuut `dash:abstract` wordt aangegeven of iets abstract (`true`) of concreet (`false`) is. Waarbij met concreet bedoeld wordt dat er in een beheersysteem of bij uitwisseling ook daadwerkelijk instanties van gemaakt zullen worden. Abstracte classes zullen voor eindgebruik niet heel belangrijk zijn en voor de meeste eindgebruikers ook niet zichtbaar zijn. De class heeft verder twee belangrijke relaties naar [NEN2660-2:2022][nen2660:2022] concepten. Dit betreffen `nen2660:isDescribedBy` die naar het `nen2660:InformationObject` loopt en `nen2660:hasBoundary` die naar de `nen2660:GeometricEntity` loopt. Met de eerste wordt dus aangegeven dat 'meer informatie over het de `imbor:Klasse` te vinden is bij het het `InformatieObject`. Met de tweede wordt aangegeven dat de (concrete) `imbor:Klasse` gebonden is door een geometrie. Ofwel, er kan een geometrie van vastgelegd worden.
##### imbor:KlasseAttribuut
Deze class (die middels `sh:property` aan de `imbor:Klasse` hangt) is eigenlijk de koppeling tussen het 'Object' en het 'Attribuut'. Dit is een zogenaamde 'SHACL PropertyShape' en definieert dus welke attributen van toepassing zijn bij welk Objecttype en legt daar zaken over vast zoals: maximale kardinaliteit, in welke unit dit uitgedrukt moet worden van welke datatype het betreft. Er zijn in het schema twee beschrijvingen van `imbor:KlasseAttribuut` te zien. Dit komt omdat de property-shapes anders in elkaar zitten wanneer het een voorgedefinieerd datatype betreft (iets uit de [[xmlschema11-1]] lijn), dan wanneer het een waardelijst is.
@@ -236,3 +231,5 @@ Omdat de referentiemodellen een informatief onderdeel van IMBOR zijn, worden dez
Een aantal metaconcepten worden specifiek voor IMBOR gedefinieerd. Dit wordt gedaan middels het 'IMBOR Aanvullend Metamodel'. Dit betreft een kleine ontologie van beschrijfende concepten die er voor zorgen dat alle IMBOR specifieke properties netjes en navolgbaar gedefinieerd zijn.
[mijncrow]: https://crowsso.b2clogin.com/crowsso.onmicrosoft.com/B2C_1A_signup_signin/oauth2/v2.0/authorize?client_id=e0b429f6-ef7f-4d0e-be5f-2711b5d4393f&redirect_uri=https://crow.nl/Truelime/AzureADAuthenticationHandler.ashx&response_type=code&scope=openid&response_mode=query&state=eyJSZXR1cm5VcmwiOiIvTWlqbkNST1cvSG9tZSIsIlNob3BwaW5nQ2FydCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsIklkIjoiODQwYzBlYmMtZjBmOC00YmE5LTg3YzAtZGEwYThiZGUxYmMwIiwiU2lnbk91dCI6ZmFsc2V9
+[nen3610:2022]: https://www.nen.nl/nen-3610-2022-nl-296137
+[nen2660:2022]: https://www.nen.nl/nen-2660-2-2022-nl-291667
\ No newline at end of file
diff --git a/docs/techdoc/docs/imbor-modellen.md b/docs/techdoc/docs/imbor-modellen.md
index 37b8c0d..7e3c4af 100644
--- a/docs/techdoc/docs/imbor-modellen.md
+++ b/docs/techdoc/docs/imbor-modellen.md
@@ -1,16 +1,17 @@
## IMBOR in modellen
-Tot en met IMBOR2020-08 zat het metamodel van IMBOR in de content verwerkt. Vanaf 2021 wordt er expliciet gemaakt hoe IMBOR gemodelleerd is. Hierbij wordt gebruik gemaakt van de principes die het metamodel voor informatiemodellering ([MIM][MIM]) definieert. Hier worden vier 'lagen' van modellen gedefinieerd:
+Tot en met IMBOR2020-08 zat het metamodel van IMBOR in de content verwerkt. Vanaf 2021 is er expliciet gemaakt hoe IMBOR gemodelleerd is. Hierbij wordt gebruik gemaakt van de principes die het metamodel voor informatiemodellering ([MIM][MIM]) definieert. Hier worden vier 'lagen' van modellen gedefinieerd:
1. [Niveau 1][n1]: Model van begrippen
1. [Niveau 2][n2]: Conceptueel informatiemodel
1. [Niveau 3][n3]: Logisch informatiemodel
1. [Niveau 4][n4]: Fysiek datamodel
-IMBOR acteert in niveau 1 en niveau 3. Niveau 2 wordt voor IMBOR over geslagen en bestaat alleen impliciet. Niveau 4 beschrijft IMBOR in het kader van de distributie. Dit is dus geen uitleg _hoe_ IMBOR geïmplementeerd moet worden in een database. Maar een uitleg hoe de onderdelen van IMBOR uitgedrukt worden in de MS Access distributie en de LinkedData distributie.
-### Model van begrippen
+IMBOR acteert met name in niveau 1 en niveau 3. Niveau 2 wordt voor IMBOR over geslagen en bestaat alleen impliciet. Niveau 4 beschrijft IMBOR in het kader van de distributie. Dit is dus geen uitleg _hoe_ IMBOR geïmplementeerd moet worden in een database. Maar een uitleg hoe de onderdelen van IMBOR uitgedrukt worden in de MS Access distributie en de LinkedData distributie.
+
+### Begrippenkader
+
+Het model van begrippen is in deze context gelijk aan een 'vocabulaire'. Het definieert het begrippenkader van IMBOR. Begrippen mogen in verschillende informatiemodellen gebruikt worden, maar worden op één plek, één keer gedefinieerd. Onderstaande figuur toont wat de begrippen structuur is. De begrippen zijn beschikbaar in [[skos-primer]]. Zowel het [MIM][MIM] als de [NEN2660-2:2022][nen2660:2022] bevelen dit aan.
-Het model van begrippen is in deze context gelijk aan een 'vocabulaire'. Het definieert het begrippenkader van IMBOR. Begrippen mogen in verschillende informatiemodellen gebruikt worden, maar worden op één plek, één keer gedefinieerd. Onderstaande figuur betreft het 'metamodel' van de IMBOR Vocabulair. Dit is gebaseerd op een SKOS model (de content wordt later dan ook in SKOS uitgedrukt). Zowel het [MIM][MIM] als de NEN2660-2 bevelen dit aan.
-Onderstaande figuur is niet het model zelf, maar het ([conceptuele][n2]) metamodel hiervan.
De IMBOR Vocabulaire is te verkennen op:
@@ -19,36 +20,40 @@ De IMBOR Vocabulaire is te verkennen op:
-### Logisch informatiemodel
+### Informatiemodel
-Binnen IMBOR gaan we uit van bestaande vocabulaires, te weten de NEN2660-2, de NEN3610 en het MIM. Binnen het logische informatiemodel wordt een ontologie onderscheiden. In deze ontologie maken we voornamelijk gebruik van het "NEN2660-2 Praktisch toplevelmodel". Alle concepten binnen de IMBOR ontologie worden beschreven binnen de context van de NEN2660-2. Hiermee sluiten we aan bij de ordeningsregels en uiteindelijk ook de taalbinding die in de NEN2660-2 beschreven worden. Hiermee is het "NEN2660-2 praktisch toplevelmodel" ook de top van de IMBOR. Het logische informatiemodel beschrijft alle concepten, attributen en relaties binnen IMBOR. Onafhankelijk van de beheeromgeving waarin IMBOR beheert wordt zal deze leidend blijven. Waar mogelijk is dit in lijn met het [MIM][MIM] en de NEN3610, echter de NEN2660-2 blijft het voornaamste uitgangspunt.
+Binnen IMBOR gaan we uit van bestaande standaarden, te weten de [NEN2660-2:2022][nen2660:2022], de [NEN3610:2022][nen3610:2022] en het MIM. Daarom wordt naast de vocabulaire een ontologie onderscheiden. In deze ontologie maken we voornamelijk gebruik van het "NEN2660-2 Praktisch toplevelmodel". Alle concepten binnen de IMBOR ontologie worden beschreven binnen de context van de [NEN2660-2:2022][nen2660:2022]. Hiermee sluiten we aan bij de ordeningsregels en uiteindelijk ook de taalbinding die in de [NEN2660-2:2022][nen2660:2022]beschreven worden. Hiermee is het "NEN2660-2 praktisch toplevelmodel" ook de top van de IMBOR. Dit beschrijft de concepten, attributen en relaties binnen IMBOR. Onafhankelijk van de beheeromgeving waarin IMBOR beheert wordt zal deze leidend blijven. Waar mogelijk is dit in lijn met het [MIM][MIM] en de [NEN3610:2022][nen3610:2022], echter de [NEN2660-2:2022][nen2660:2022] blijft het voornaamste uitgangspunt.
-Onderstaande figuur is niet het logische informatiemodel zelf, maar het metamodel hiervan. Dit metamodel is specifieke voor IMBOR en staat dus 'naast' het [MIM][MIM]. De opzet hiervan wijkt af van de NEN2660-2 (en ook van MIM). In de LinkedData versie wordt er middels een ETL-pipeline gezorgd dat het er correct volgens de NEN2660-2 taalbinding uit komt. Het IMBOR 'Metamodel' is nodig om dat vanuit "legacy" zaken (zoals het onderscheidt tussen `Klasse` en `Objecttype` en het feit dat er bijvoorbeeld een `Eenheid` aan een combinatie van `Attribuut` en `Klasse` hangt) nu eenmaal zo IMBOR zaten/zitten. Kortom, de (LinkedData) eindgebruiker zal niks te maken hebben met dat metamodel, maar volgt volledig de NEN2660-2.
+Onderstaande figuur toont de structuur hoe IMBOR is opgebouwd. In de LinkedData versie wordt er middels een ETL-pipeline gezorgd dat het er correct volgens de [NEN2660-2:2022][nen2660:2022] en [MIM][MIM] taalbinding uit komt. Deze IMBOR structuur is door de jaren heen zo gevormd en herkenbaar geworden door met name het onderscheidt tussen `Klasse` en `Objecttype` en het feit dat er bijvoorbeeld een `Eenheid` aan een combinatie van `Attribuut` en `Klasse` hangt. Voor de (LinkedData) eindgebruiker is vooral de [NEN2660-2:2022][nen2660:2022] structuur van belang.
+
__Semantiek t.o.v. MIM__
- Het MIM wordt op meerdere plekken aangehaald binnen IMBOR. Omdat IMBOR in eerste instantie de NEN2660-2 volgt is de semantiek tussen IMBOR en het MIM soms wat verwarrend. Hier een nadere toelichting.
+ Het [MIM][MIM] wordt op meerdere plekken aangehaald binnen IMBOR. Omdat IMBOR in eerste instantie de [NEN2660-2:2022][nen2660:2022] volgt is de semantiek tussen IMBOR en het MIM soms wat verwarrend. Daarom volgt hier een nadere toelichting:
Het `Object` in MIM is de instantie van het `Objecttype` in MIM. Deze zijn allebei een UML `Class`. In IMBOR zijn er `Klassen` onderscheiden, sommige `Klassen` krijgen het synoniem `Objecttype`. Dit betreffen de concrete klassen en vaak de 'bladeren van de boom', ofwel de onderste in de hiërarchie. Deze concrete klassen (ofwel `Objectypen`) zijn degene waar instanties van te verwachten zijn in de beheerpakketten. Deze instanties worden weer `Object` genoemd (in lijn met MIM). De vergelijking is te maken met `Classes` en `Instances`.
- Het `Attribuut` en de `Attribuutsoort` in MIM zijn vergelijkbaar (conceptueel) met het `Object` en het `Objecttype` in MIM (de een is dus instantie van de ander. In IMBOR (en de NEN2660-2/OTL wereld) hebben zaken net een andere betekenis. Het `Attribuut` betreft de te registreren kenmerk of eigenschap van een `Klasse`. De `Attribuutsoort` werd in IMBOR2020-08 gebruikt om aan te geven 'wat voor een soort attribuut het betrof. Dit is in IMBOR2022 vervangen door `TypeAttribuut`.
+ Het `Attribuut` en de `Attribuutsoort` in MIM zijn vergelijkbaar (conceptueel) met het `Object` en het `Objecttype` in MIM (de een is dus instantie van de ander). In IMBOR (en de NEN2660-2/OTL wereld) hebben zaken net een andere betekenis. Het `Attribuut` betreft de te registreren kenmerk of eigenschap van een `Klasse`. De `Attribuutsoort` werd in IMBOR2020-08 gebruikt om aan te geven 'wat voor een soort attribuut het betrof. Dit is in IMBOR niet meer aanwezig.
- In MIM wordt met het `Datatype` aangegeven wat de structuur is waaraan een waarde, oftewel de data zelf, aan moet voldoen. In IMBOR2020-08 zat dit vermengd in de `Attribuutsoort` en het `Gegevenstype`. Dit is anders aangepakt in IMBOR2022. `Gegevenstype` is dan ook vervangen door `Datatype`.
+ In MIM wordt met het `Datatype` aangegeven wat de structuur is waaraan een waarde, oftewel de data zelf, aan moet voldoen. In IMBOR2020-08 zat dit vermengd in de `Attribuutsoort` en het `Gegevenstype`. Dit is anders aangepakt vanaf IMBOR2022. `Gegevenstype` is dan ook vervangen door `Datatype`.
`Multipliciteit` en `Kardinaliteit` zijn onderwerp van discussie in verschillende gremia. Ook het MIM is hier niet eenduidige in. Binnen IMBOR2022 wordt de volgende werkwijze gehanteerd:
@@ -64,11 +69,7 @@ Omdat IMBOR nu nog gedistribueerd wordt in een MS Access database en LinkedData
Het fysieke datamodel in LinkedData kan gelijk worden gesteld aan de 'serialisatie'. In het geval van IMBOR is dit [[turtle]].
-
@@ -76,4 +77,6 @@ De IMBOR Ontologie is te verkennen in de 'CROW | Ontologie verkenner' op:
[n1]: https://docs.geostandaarden.nl/mim/def-st-mim-20201023/#niveau-1-model-van-begrippen
[n2]: https://docs.geostandaarden.nl/mim/def-st-mim-20201023/#niveau-2-conceptueel-informatiemodel
[n3]: https://docs.geostandaarden.nl/mim/def-st-mim-20201023/#niveau-3-logisch-informatie-of-gegevensmodel
-[n4]: https://docs.geostandaarden.nl/mim/def-st-mim-20201023/#niveau-4-fysiek-of-technisch-gegevens-of-datamodel
\ No newline at end of file
+[n4]: https://docs.geostandaarden.nl/mim/def-st-mim-20201023/#niveau-4-fysiek-of-technisch-gegevens-of-datamodel
+[nen3610:2022]: https://www.nen.nl/nen-3610-2022-nl-296137
+[nen2660:2022]: https://www.nen.nl/nen-2660-2-2022-nl-291667
\ No newline at end of file
diff --git a/docs/techdoc/docs/imbor-referentiemodellen.md b/docs/techdoc/docs/imbor-referentiemodellen.md
index 5eb05a6..045e861 100644
--- a/docs/techdoc/docs/imbor-referentiemodellen.md
+++ b/docs/techdoc/docs/imbor-referentiemodellen.md
@@ -11,10 +11,10 @@ Vanwege de positie van IMBOR worden er veel relaties naar andere standaarden gel
#### NEN2660-2
-De NEN2660-2 vormt de belangrijkste leidraad voor IMBOR2022 door twee belangrijke dingen te specificeren:
+De [NEN2660-2:2022][nen2660:2022] vormt de belangrijkste leidraad voor IMBOR2022 door twee belangrijke dingen te specificeren:
1. Een praktisch toplevelmodel waarin genoeg semantiek aangegeven wordt om IMBOR in uit te drukken
1. Een taalbinding (en daarmee de keuze voor) de LinkedData W3C standaarden.
-IMBOR maakt gebruik van deze twee keuzes en probeert daarom zo goed mogelijk aan te sluiten. In onderstaande figuur is ook te zien waar de NEN2660-2 zich op focust. IMBOR neemt plaats in de "M1: Informatie model" laag.
+IMBOR maakt gebruik van deze twee keuzes en probeert daarom zo goed mogelijk aan te sluiten. In onderstaande figuur is ook te zien waar de [NEN2660-2:2022][nen2660:2022] zich op focust. IMBOR neemt plaats in de "M1: Informatie model" laag.