De content op deze website wordt niet meer bijgewerkt. Actuele content is te vinden op Data-docent.nl
Boom of graaf
Bij het omzetten van een tekst met trefwoorden kun je meerdere indelingsvormen kiezen. Het komt hierbij vaak terecht op de vier meest bekende indelingspatronen namelijk:
- Lijst, een opsomming van termen zonder dat er een categorisering of hierarchische structuur te onderkennen is. Denk bijvoorbeeld aan een glossary of begrippenlijst
- Boomstructuur, een hierarchische indeling waarbij een term kinderen heeft die een specialisatie zijn van de "ouder"term. Hiermee kun je een getrapte structuur opbouwen
- Matrix een indeling waarbij je de termen op twee assen plaatst en in een tabelweergave aangeeft tussen welke termen er een associatie bestaat
- Graaf is een relationele indeling waarbij je door middel van lijnen termen met elkaar verbindt. Dit is de meest complexe vorm van termindeling omdat je meerdere soorten verbindingen tussen termen kunt leggen maar ook meerdere verbindingen tussen twee termen kunt leggen.
Bij het uitwerken van een trefwoorden model moet een overweging gemaakt worden welk indelingspatroon gebruikt kan worden voor het modelleren van expertise of kennis. Een lijst valt al snel af omdat hiermee de onderlinge relaties tussen de termen niet inzichtelijk gemaakt kunnen worden.
De matrix is een interessante verschijningsvorm maar deze kan ook eenvoudig geimplementeerd worden in een graaf waarbij de graaf een aantal extra's heeft zoals meerdere associaties. Dat betekent dat we een keuze moeten maken tussen deze indelingpatronen.
Boomstructuren hebben het grote voordeel dat ze een eenvoudig implementatie hebben in relationele databases, nosql databases en in software logica. In het kind dien je vast te leggen wie de ouder is, of andersom binnen de ouder dien je vast te leggen wie de kinderen zijn. Veel structuren zoals overerving maar ook parent child patronen zijn gebaseerd op een boomstructuur. Boomstructuren hebben een groot nadeel en dat is dat er geen (meervoudige) getypeerde associaties gelegd kunnen worden.
Grafen hebben als voordeel dat zij complexere vormen van associaties kunnen implementeren, dat een graaf eenvoudig verrijkt kan worden met extra eigenschappen aan de elementen en aan de associaties. ArchiMate is een mooi voorbeeld van een verrijkte graafnotatie. Nadeel van de grafennotatie is dat de fysieke implementatie wel iets complexer is dan een boomstructuur.
Kunnen we bij de implementatie van het text2tree project volstaan met een boomstructuur of is een graafimplementatie noodzakelijk. Dat is iets wat nader onderzocht moet worden daarom kiezen we voor een aantal onderzoeksvragen namelijk:
- Welk indelingspatroon is het meest geschikt voor de implementatie van een expertise boom of - graaf?
- Als we een voorbeeld omzetten naar een expertise model, ontstaat hier dan een graaf of boomstructuur uit. We nemen hier als voorbeeld de definitions van Togaf
- Als we een indelingspatroon kiezen welke relationeel model hoort hier dan bij.
- Zijn er nosql modellen beschikbaar waarmee we een dergelijke indelingsvorm kunnen implementeren en vervolgens bevragen.
Deze onderzoeksvragen worden de komende tijd uitgewerkt in een aantal deelactiviteiten en in deze blog wordt er een uitwerking gegeven van de resultaten van deze onderzoeksactiviteiten.
Reageer
Bekijk reacties