04.09.2013 Views

Het EcoGRID Logisch Datamodel voor Release 1

Het EcoGRID Logisch Datamodel voor Release 1

Het EcoGRID Logisch Datamodel voor Release 1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Het</strong> <strong>EcoGRID</strong> <strong>Logisch</strong> <strong>Datamodel</strong> <strong>voor</strong> <strong>Release</strong> 1<br />

Lourens Veen (L.E.Veen@uva.nl)<br />

Guido van Reenen (G.B.A.vanReenen@uva.nl)<br />

Institute for Biodiversity and Ecosystem Dynamics<br />

Universiteit van Amsterdam<br />

Nieuwe Achtergracht 166<br />

1018 WV, Amsterdam, The Netherlands<br />

Amsterdam<br />

November 2008


Inleiding<br />

<strong>Het</strong> doel van dit document is het vaststellen van een logisch datamodel dat als basis kan dienen <strong>voor</strong><br />

de uitwisselingsstandaarden die gebruikt gaan worden <strong>voor</strong> <strong>EcoGRID</strong> <strong>Release</strong> 1. <strong>Het</strong> is niet<br />

ontworpen <strong>voor</strong> een specifieke technologie, maar is een algemene beschrijving van de resultaten<br />

van veldwaarnemingen van soorten. Technische datamodellen <strong>voor</strong> databases, webservices etcetera<br />

kunnen van dit logisch datamodel afgeleid worden.<br />

Ten opzichte van het <strong>EcoGRID</strong> datamodel versie 1 zijn er enkele veranderingen en verbeteringen<br />

doorgevoerd die in het afgelopen jaar naar voren gekomen zijn. Deze zijn in juni verzameld, en in<br />

de afgelopen weken verder uitgewerkt en in dit document opgenomen.<br />

Dit document is inhoudelijk compleet, maar vanwege de grote haast die er op dit moment is<br />

ontbreken er nog wat <strong>voor</strong>beelden en uitleg die <strong>voor</strong> optimale communicatie toegevoegd moeten<br />

worden. Dit document is dus een prerelease die gevolgd gaat worden door een definitieve versie.<br />

Natuurlijk staat NDFF/<strong>EcoGRID</strong> niet stil. Dit document is dan ook geen einde maar een begin, van<br />

waaruit we verder gaan bouwen aan een uitgebreider systeem <strong>voor</strong> de volgende releases. Ideeën,<br />

op- en aanmerkingen en constructieve kritiek blijven dan ook welkom.<br />

Lourens Veen en Guido van Reenen<br />

17 november 2008


Overzicht<br />

Afbeelding 1: <strong>Het</strong> <strong>EcoGRID</strong> <strong>Datamodel</strong> <strong>voor</strong> <strong>Release</strong> 1


Codes<br />

Afbeelding 2: Module Codes<br />

Een groot deel van de in dit logisch datamodel bij een waarneming gebruikte attributen zijn<br />

gedefinieerd op een nominale, hiërarchische schaal. Dit betekent dat er verschillende<br />

<strong>voor</strong>gedefinieerde waarden kunnen worden ingevuld. Deze waarden, ofwel codes, worden centraal<br />

geregistreerd, maar niet altijd centraal gedefinieerd. Naast de standaardcodes bestaat er de<br />

mogelijkheid om eigen codes toe te voegen.<br />

Bovendien ontwikkelen codesystemen zich in de loop der tijd, waarbij nieuwe codes kunnen<br />

worden toegevoegd, bestaande codes kunnen worden vervangen of codes kunnen worden<br />

verschoven in de hiërarchie.<br />

Codes kunnen op verschillende manieren worden weergegeven. In de taxonomie hebben we<br />

bij<strong>voor</strong>beeld Latijnse en wetenschappelijke namen (Latijnse naam met auteursaanduiding), maar<br />

ook Nederlandse namen. Daarom kunnen er per code verschillende weergaven zijn.


Codedefinities<br />

Naam Attribuut Type Definitie<br />

identity URI De unieke identifier van de code.<br />

name string Een korte naam van de code.<br />

description string Een precieze omschrijving van de code.<br />

Tabel 1: Attributen van de klasse Code<br />

Elke code heeft een identiteit en een omschrijving. De eerste zorgt er<strong>voor</strong> dat de code <strong>voor</strong><br />

computers te onderscheiden is van andere codes, de tweede is een <strong>voor</strong> mensen te begrijpen<br />

aanduiding.<br />

Identiteit<br />

Om verwarring te <strong>voor</strong>komen is het noodzakelijk dat elke code een unieke identiteit heeft. Doordat<br />

het mogelijk is om zelf codes toe te voegen aan de centraal gedefinieerde codes ontstaat er een<br />

situatie waarin de totale verzameling codes door verschillende partijen wordt gedefinieerd. Codes<br />

zijn daarom gegroepeerd in namespaces, één per organisatie. Elke namespace heeft een unieke<br />

aanduiding, en binnen een namespace zijn de codes uniek. Elke code kan zo geïdentificeerd worden<br />

door zijn namespace en zijn eigen aanduiding, die worden samengevoegd tot een URI.<br />

Omschrijving<br />

Naast een (technische) identiteit heeft een code een definitie, bestaande uit een name en een<br />

description. Deze aanduidingen fungeren als de basisdefinitie van de code. Voor weergave in<br />

verschillende talen en notaties is er een aparte <strong>voor</strong>ziening (hieronder beschreven), die meestal<br />

gebruikt zal worden bij het weergeven van waarnemingen aan gebruikers.<br />

Relaties met andere codes<br />

Er zijn twee relaties tussen codes, parent en correct geheten. Parent geeft een ouder-kindrelatie<br />

weer, zodat er een hiërarchie van codes ontstaat. Een correct-relatie van code A naar code B geeft<br />

aan dat elke A een B is, en dat code A niet meer gebruikt behoort te worden en is vervangen door<br />

code B.<br />

Talen en Weergaven<br />

Naam Attribuut Type Definitie<br />

identity URI De unieke identifier van de taal.<br />

name string De naam van de taal in de taal zelf.<br />

Tabel 2: Attributen van de klasse Language<br />

Een code kan op verschillende manieren worden weergegeven. Hiertoe kunnen verschillende talen<br />

en weergaven worden gedefinieerd. Een taal heeft een identiteit (identity) en een naam (name, de<br />

naam van die taal in die taal). Een taal is hier niet alleen een menselijke taal, maar kan ook een<br />

notatiewijze zijn (bijv. de wetenschappelijke schrijfwijze).


Naam Attribuut Type Definitie<br />

displayname string Een korte weergavenaam van de code.<br />

description string Een precieze omschrijving van de code.<br />

Tabel 3: Attributen van de associatieklasse Representation<br />

Een weergave bestaat uit een korte displayname, die bij<strong>voor</strong>beeld geschikt is om in een tabel weer<br />

te geven, en een langere, preciezere description van de code. Deze zijn precieze vertalingen van<br />

respectievelijk de name en description van de code waar dit een weergave van is.<br />

Een weergave is een relatie tussen de code die wordt weergegeven en de taal waarin dat wordt<br />

gedaan. Voor elke combinatie van code en weergave is er maximaal één representatie.<br />

Categorieën<br />

Naam Attribuut Type Definitie<br />

identity URI De unieke identificatie van de<br />

categorie.<br />

name string De naam van de categorie.<br />

Tabel 4: Attributen van de klasse Category<br />

Categorieën bieden de mogelijkheid om codes, waaronder taxa, in willekeurige groepen in te delen.<br />

Groeperen kan op gemeenschappelijke eigenschappen, maar ook op niet-natuurlijke kenmerken<br />

zoals het <strong>voor</strong>komen op een beleidslijst.<br />

Veranderingen<br />

Ten opzichte van het <strong>EcoGRID</strong> datamodel versie 1 hebben de codes een identiteit erbij gekregen die<br />

geschikt is om te gebruiken in de communicatie tussen verschillende systemen, en die aansluit bij<br />

het gebruik van webservices. Er is de mogelijkheid toegevoegd om hiërarchische codesystemen te<br />

gebruiken. Ook het kunnen weergeven van codes in verschillende talen is nieuw, hoewel deze<br />

functionaliteit al bestond <strong>voor</strong> taxa (de common names). Dit is nu gegeneraliseerd en ook<br />

beschikbaar <strong>voor</strong> de codes.


Taxonomie<br />

Eén van de belangrijkste attributen bij elke waarneming is de waargenomen soort. De module<br />

Taxonomy definieert de codes die gebruikt worden om taxa weer te geven. Een groot deel van de<br />

functionaliteit is al in de module Codes gedefinieerd. Deze module voegt daar enkele<br />

taxonomiespecifieke zaken aan toe.<br />

Taxa<br />

Naam Attribuut Type Definitie<br />

identity URI De unieke identifier van het taxon.<br />

name String De supraspecifieke naam van het taxon.<br />

specificEpithet String <strong>Het</strong> specifieke epithet van het taxon.<br />

infraspecificEpithet String <strong>Het</strong> infraspecifieke epithet van het taxon.<br />

description String Een (eventuele) omschrijving van het taxon.<br />

authors String De auteursaanduiding behorende bij het taxon.<br />

Tabel 5: Attributen van de klasse Taxon, inclusief van Code geërfde attributen<br />

In dit model is de klasse taxon afgeleid van de klasse code, omdat ze <strong>voor</strong> de techniek eenzelfde<br />

functie vervullen. Taxa hebben dus net als codes een identiteit. Daarnaast hebben ze ook een naam<br />

en een omschrijving.<br />

De naam van een taxon bestaat uit één of meer elementen, die we apart modelleren. <strong>Het</strong> veld name<br />

van de code gebruiken we <strong>voor</strong> de supraspecifieke naam van het taxon. Voor hogere taxa is dit het<br />

enige deel van de naam. Voor taxa op soortniveau en lager wordt hier de naam van het genus<br />

ingevuld. <strong>Het</strong> specifieke en infraspecifieke epithet komen in dit geval in de velden specificEpithet<br />

en infraspecificEpithet terecht.<br />

De description geeft een precieze omschrijving van de soort, ondersoort, het hogere taxon, etc. dat<br />

met deze naam wordt aangeduid. De auteursaanduiding tot slot staat in het veld author.<br />

Weergaven<br />

Afbeelding 3: Module Taxonomy<br />

Ook in de taxonomie kunnen er meerdere weergaven zijn van een taxon. Hieronder vallen de


Latijnse naam, de wetenschappelijke naam (Latijnse naam inclusief auteursaanduiding), en lokale<br />

(bijv. Nederlandse) namen. Synoniemen, die bij<strong>voor</strong>beeld ontstaan door naamswijzigingen, worden<br />

niet via het weergavemechanisme verwerkt maar via de correct-relatie.<br />

Deze weergaven kunnen deels gegenereerd worden uit de attributen van het taxonobject en de<br />

daarbij aangegeven rangen. Voor zover mogelijk moet dit ook automatisch gebeuren om uit de pas<br />

lopen te <strong>voor</strong>komen. De vertalingen zijn nuttig bij het weergeven van individuele taxa en het<br />

zoeken op naam, de meer structurele representatie komt van pas bij het afhandelen van<br />

ingewikkelder vragen en het weergeven van taxa in de context van de taxonomie.<br />

Rangen<br />

Taxa onderscheiden zich ook van de (overige) codes doordat ze een rang met een naam hebben.<br />

Rangen zijn codes, echter de correct-relatie en de description worden niet gebruikt 1 . <strong>Het</strong> name<br />

attribuut bevat de Latijnse naam van de rang. De parent-relatie geeft de hiërarchie in de rangen<br />

weer. Net als bij de overige codes kunnen verschillende lokale weergaven worden toegevoegd.<br />

Veranderingen<br />

De functionaliteit van de taxonomie is gelijk gebleven, maar de manier waarop taxa worden<br />

opgeslagen is verbeterd. Een enkel taxonobject bevat nu alle informatie die nodig is om de naam<br />

van dat taxon af te leiden, en het is eenvoudiger geworden om codes te zoeken. Rangen kunnen nu<br />

in verschillende talen worden weergegeven, en hun identiteit is gescheiden van hun hiërarchische<br />

relatie. Door taxa te modelleren als uitgebreide codes is de beschrijving eenvoudiger geworden.<br />

1 Merk op dat dit beter anders gemodelleerd kan worden, met een TranslatableEntity klasse waar de representationrelatie<br />

aan hangt, en waar zowel Code als Rank die relatie en het identity-attribuut van overerven. Rank krijgt dan<br />

zelf nog een parent-relatie toegevoegd. Dit is in de diagrammen in dit document niet gedaan om de interdisciplinaire<br />

communicatie te vereenvoudigen, maar kan in afgeleide technische datamodellen beter wel doorgevoerd worden.


Waarnemingen<br />

Afbeelding 4: Module Survey<br />

De module Survey is het hart van dit datamodel. In deze module worden de resultaten van gedane<br />

waarnemingen opgeslagen. Deze module gebruikt alle drie de andere modules als referentie om<br />

waarnemingen tegen te definiëren.<br />

Een soortwaarneming is een gebeurtenis, waarbij een waarnemer de abundantie 2 van een bepaald<br />

object in een bepaalde omgeving vaststelt. Afhankelijk van de onderzoeksmethode wordt een deel<br />

van de aanwezige objecten ook waargenomen. Bij het vastleggen van het resultaat van een<br />

soortwaarneming worden de eigenschappen van de omgeving en het object opgeslagen, en de<br />

vastgestelde hoeveelheid en de manier waarop die is vastgesteld.<br />

Een waarneming wordt altijd gedaan op een bepaalde (geografische) locatie, en tijdens of in een<br />

bepaalde periode. De biotoop waarin de objecten zijn geobserveerd kan ook worden vastgelegd.<br />

Een waarneming wordt gedaan aan een soort, waarvan iets (individuen, kolonies, resten, sporen,<br />

etc.) wordt geteld (dit levert de eenheid behorende bij de telwaarde). <strong>Het</strong> waargenomen object kan<br />

een bepaald geslacht hebben, zich in een bepaald levensstadium bevinden, en gedrag vertonen.<br />

De locatie wordt onderzocht volgens een bepaalde onderzoeksmethode, volgens welke een bepaald<br />

2 Van Dale: mate waarin iets in een bepaald gebied of systeem <strong>voor</strong>komt, bijv. het aantal individuen van een bepaalde<br />

diersoort of het percentage van een element in de natuur.


deel van de aanwezige objecten wordt waargenomen. Deze worden vervolgens gedetermineerd<br />

volgens een determinatiemethode.<br />

De hoeveelheid (aantal, bedekking) objecten wordt vervolgens vastgesteld, en het resultaat geeft de<br />

waargenomen abundantie van het object in de omgeving.<br />

Naam<br />

attribuut<br />

Schaal/Type Definitie<br />

Identiteit identity URI De unieke identifier van de waarneming.<br />

Waar /<br />

Wanneer<br />

Wat<br />

Hoe<br />

location Cartesisch /<br />

Interval<br />

De geografische locatie van de onderzochte omgeving.<br />

period Interval De tijd op of gedurende welke het onderzoek plaatsvond.<br />

biotope Nominaal,<br />

Hiërarchisch<br />

species Nominaal,<br />

Hiërarchisch<br />

unit Nominaal,<br />

Hiërarchisch<br />

sex Nominaal,<br />

Hiërarchisch<br />

lifeStage Nominaal,<br />

Hiërarchisch<br />

activity Nominaal,<br />

Hiërarchisch<br />

surveyMethod Nominaal,<br />

Hiërarchisch<br />

determination<br />

Method<br />

Nominaal,<br />

Hiërarchisch<br />

De biologische omgeving waarin de objecten zich<br />

bevonden.<br />

De taxonomische soort waaraan de waarneming gedaan is<br />

of waarop de waarneming betrekking heeft.<br />

De teleenheid; ofwel wát van de soort er is geteld.<br />

<strong>Het</strong> geslacht van de waargenomen objecten.<br />

<strong>Het</strong> levensstadium waarin het object zich bevindt, zich<br />

bevond toen het doodging, of waarvan een spoor is<br />

gevonden.<br />

<strong>Het</strong> gedrag dat door het object vertoond wordt.<br />

Hoe de omgeving onderzocht is.<br />

<strong>Het</strong> zintuig dat gebruikt is <strong>voor</strong> het waarnemen en<br />

determineren, en eventuele hulpapparatuur.<br />

Hoeveel abundance Absoluut De waargenomen hoeveelheid objecten.<br />

Tabel 6: Een waarneming in <strong>EcoGRID</strong><br />

Voor de attributen die op een nominale, hiërarchische schaal zijn gedefinieerd, zijn in de modules<br />

Codes en Taxonomy overeenkomstige klassen gedefinieerd. Deze attributen worden dus als relaties<br />

gemodelleerd. De attributen location, period en abundance zijn deelklassen, waarin de waarde en<br />

de onzekerheid daarin vastgelegd kunnen worden.<br />

Onzekerheid<br />

Bij het doen van waarnemingen speelt onzekerheid een rol. Soms is een soort in het veld niet<br />

precies te determineren, zijn er teveel individuen om ze precies te tellen, of is niet exact vastgelegd<br />

waar en wanneer de waarneming gedaan is.<br />

Voor alle attributen (met uitzondering van identity, uiteraard) van een waarneming wordt de<br />

onzekerheid in de meting impliciet vastgelegd. Voor de nominale schalen wordt dit gedaan door<br />

codes op diverse detailniveaus te definiëren; door deze onderling in een hiërarchie te verbinden<br />

wordt het zoeken vereenvoudigd.


Voor de attributen period en location wordt er een bereik (minimum en maximum) gegeven, en een<br />

aanduiding van of de gemeten abundantie ergens binnen het bereik is waargenomen (dan is er<br />

sprake van onzekerheid), of dat de werkelijke waarde het hele bereik is (dan is er een heel gebied<br />

afgezocht of heeft men gedurende de hele periode staan tellen).<br />

Naam Attribuut Type Definitie<br />

start datetime <strong>Het</strong> tijdstip waarop de periode begint.<br />

stop datetime <strong>Het</strong> tijdstip waarop de periode eindigt.<br />

fullySampled boolean Geeft aan of de gemeten abundantie over de hele periode gemeten is<br />

(true), of dat het een momentopname ergens gedurende de periode<br />

betreft (false).<br />

Tabel 7: De klasse Period<br />

Naam Attribuut Type Definitie<br />

geometry geometry De geografische locatie waarop of waarbinnen de<br />

waargenomen objecten zich bevonden.<br />

fullySampled boolean Geeft aan of de gemeten abundantie over het hele<br />

gebied gemeten is (true), of dat het ergens binnen het<br />

gebied gemeten is (false).<br />

Tabel 8: De klasse Location<br />

De abundantie wordt weergegeven op een absolute schaal, wederom met een minimum en een<br />

maximum. Die geven hier altijd een onzekerheid aan.<br />

Naam Attribuut Type Definitie<br />

min real De ondergrens van het interval.<br />

max real De bovengrens van het interval.<br />

Tabel 9: De klasse Abundance<br />

In de praktijk is het bij het doen van veldwaarnemingen niet altijd eenvoudig om een precieze<br />

hoeveelheid of bedekkingspercentage vast te stellen. Vooral bij het inventariseren van begroeiing<br />

worden daarom andere, nominale schalen gebruikt, en de daarmee gedane waarnemingen moeten<br />

ook kunnen worden opgeslagen.<br />

Hoewel deze schalen goed aansluiten bij wat men in het veld aantreft, zijn ze niet erg bruikbaar<br />

<strong>voor</strong> kwantitatieve analyse. Omdat we wel kwantitatieve analyses willen maken, moet er een<br />

vertaalslag plaatsvinden. Omdat de waarden op deze ordinale schalen vaak meer bevatten dan alleen<br />

de hoeveelheid van <strong>voor</strong>komen moet ook de oorspronkelijke code bewaard blijven.<br />

Voor elke schaal wordt een Unit-code (object) gedefinieerd waarin de eenheid wordt weergegeven<br />

waarin de kwantitatieve representatie wordt uitgedrukt. De numerieke abundantieattributen worden<br />

gevuld met de numerieke vertaling van de hoeveelheidscode. Omdat deze ordinale schalen niet<br />

algemeen toepasbaar zijn wordt het attribuut <strong>voor</strong> de hoeveelheidscode niet aan het algemene<br />

datamodel toegevoegd, maar als setspecifiek attribuut opgenomen.<br />

Gebiedsonderzoeken<br />

De klasse Survey geeft een gebiedsonderzoek weer. <strong>Het</strong> attribuut area bevat het onderzochte gebied,<br />

Via de relatie results is de DataSet waarin de resultaten van het onderzoek zijn samengebracht te<br />

vinden.


Naam Attribuut Type Definitie<br />

identity URI De unieke identiteit van het onderzoek.<br />

area geometry <strong>Het</strong> onderzochte gebied.<br />

Tabel 10: De klasse Survey<br />

Datasets<br />

Naam Attribuut Type Definitie<br />

identity URI De unieke identifier van de dataset.<br />

name string Een korte naam van de dataset.<br />

description string Een precieze omschrijving van de dataset.<br />

Tabel 11: De klasse DataSet<br />

Waarnemingen worden bij opslag over het algemeen gegroepeerd, zodat er een goed geordende<br />

gegevensverzameling ontstaat. Afhankelijk van hoe de inwinning georganiseerd was kunnen<br />

verschillende manieren van groeperen zinvol zijn.<br />

Waarnemingen worden in <strong>EcoGRID</strong> verzameld in datasets. Een dataset heeft een naam en een<br />

beschrijving. Daarnaast is er een parent-relatie tussen datasets, die het mogelijk maakt datasets<br />

hiërarchisch te groeperen. Verder heeft een dataset een owner- en een maintainer-relatie met een<br />

Contact, waarmee eigenaar en beheerder van de dataset worden vastgelegd.<br />

Kwaliteitsaanduiding<br />

Naam<br />

Attribuut<br />

Type/Schaal Definitie<br />

validatorVersion string <strong>Het</strong> versienummer van de gebruikte validatiedienst.<br />

validationDate datetime De datum waarop de waarneming gevalideerd is.<br />

reliability Nominaal,<br />

Hiërarchisch<br />

probability Nominaal,<br />

Hiërarchisch<br />

In hoeverre de waarnemer volgens de instructies heeft gehandeld,<br />

de determinatie goed gedaan is en de waarneming goed is<br />

ingevoerd.<br />

De a priori kans dat deze waarneming gedaan zou zijn, gegeven<br />

dat een waarnemer in de aangegeven periode de aangegeven<br />

locatie op de aangegeven manier zou onderzoeken.<br />

byExpert boolean Geeft aan of dit validatieresultaat door een expert opgesteld is (in<br />

tegenstelling tot een geautomatiseerd systeem).<br />

Tabel 12: De klasse ValidationResult<br />

De kwaliteitsaanduiding geeft een indicatie van de kwaliteit van een waarneming. Dit is niet<br />

hetzelfde als de geschiktheid <strong>voor</strong> een bepaald doel: die is afhankelijk van het doel en dus geen<br />

eigenschap van de waarneming alleen. Ook is dit geen indicatie van de <strong>voor</strong>tgang in een<br />

validatieproces 3 .<br />

Wel is er een indicatie van de betrouwbaarheid en de waarschijnlijkheid van een waarneming.<br />

Omdat deze waarden nooit exact uitgerekend kunnen worden en we willen <strong>voor</strong>komen dat de<br />

nauwkeurigheid groter is dan ze lijkt, worden deze waarden op een nominale schaal weergegeven.<br />

3 Dit beschouwen we als een interne aangelegenheid van de component(en) die de validatie uitvoeren. De<br />

proces<strong>voor</strong>tgang wordt niet uitgeleverd aan afnemers en is dus niet in dit model opgenomen.


Deze attributen worden hier dus als relaties met de klassen Reliability en Probability gemodelleerd.<br />

<strong>Het</strong> versienummer van de gebruikte validatiedienst wordt opgeslagen om bij versies waarin fouten<br />

zijn ontdekt te kunnen achterhalen wat er opnieuw gevalideerd moet worden. Ook het tijdstip van<br />

validatie wordt vastgelegd.<br />

<strong>Het</strong> attribuut byExpert geeft aan of de validatie door een expert gedaan is. Deze informatie is van<br />

belang om te kunnen <strong>voor</strong>komen dat een waarneming meer dan één keer bij een expert langs komt.<br />

Veranderingen<br />

Ten opzichte van het <strong>EcoGRID</strong> datamodel versie 1 zijn er een aantal verbeteringen en wijzigingen<br />

doorgevoerd. <strong>Het</strong> attribuut sex is afgesplitst van het attribuut life stage. <strong>Het</strong> count type attribuut is<br />

gegeneraliseerd naar het attribuut unit, waardoor waarnemingen van sporen en resten beter<br />

gemodelleerd kunnen worden. Een deel van de functionaliteit van het observation type attribuut is<br />

hierin terecht gekomen. De overige functionaliteit is verdeeld over de nieuwe attributen survey<br />

method en determination method. Hiermee is ook aan een belangrijke informatiebron <strong>voor</strong> de<br />

validatie, namelijk de manier waarop de inventarisatie gedaan is, eenduidig beschikbaar gekomen.<br />

Relaties tussen waarnemingen zijn geheel nieuw, en geven invulling aan een aantal in het afgelopen<br />

jaar naar voren gekomen wensen.<br />

In het datamodel versie 1 worden waarnemingen gegroepeerd in sessies en projecten. Met het<br />

afsplitsen van de administratieve gegevens is de focus van het datamodel volledig komen te liggen<br />

op het modelleren van de resultaten van projecten en sessies. Bovendien bleek dat in sommige<br />

meetnetten een diepere hiërarchie beter zou passen, terwijl <strong>voor</strong> losse waarnemingen met een enkele<br />

groepering kon worden volstaan. Waarnemingen worden hier dus gegroepeerd in datasets, die op<br />

zich weer gegroepeerd kunnen worden in hogere datasets. <strong>Het</strong> beheer van gegevenscollecties met<br />

behulp van een van dit logisch datamodel afgeleid databasemodel wordt zo verbeterd, en de<br />

resultaten van diverse soorten meetmethoden kunnen netjes worden ingepast. Bovendien is het<br />

model eenvoudiger geworden.<br />

<strong>Het</strong> is nu mogelijk om expliciet aan te geven wie de eigenaar en wie de beheerder is van een<br />

dataset. Daarmee komen we tegemoet aan organisaties die waarnemingen van anderen beheren<br />

en/of gegevens willen delen.<br />

Tot slot is er aan de waarneming een kwaliteitsaanduiding toegevoegd. Deze bevat alle gegevens<br />

die nodig zijn om, samen met de overige attributen, afnemers en productontwerpers een beeld te<br />

geven van de bruikbaarheid van een waarneming <strong>voor</strong> hun specifieke probleem.


Contactinformatie<br />

Van de eigenaar en beheerder van een dataset, en de validator van een waarneming worden de<br />

contactgegevens vastgelegd. Hoe dit gebeurt is vastgelegd in de module Contacts. <strong>Het</strong> doel is hier<br />

niet om alle waarnemers te gaan registreren 4 , maar om van enkele organisaties en eventueel<br />

individuen (<strong>voor</strong>al eigenaars van datasets waarschijnlijk) vast te kunnen leggen hoe men contact<br />

met ze kan opnemen.<br />

Naam Attribuut Type Definitie<br />

identity URI De unieke identifier van deze<br />

contactgegevens.<br />

name string De naam van de organisatie.<br />

address string Straat en huisnummer van het postadres.<br />

postalCode string Postcode van het postadres.<br />

town string Plaatsnaam van het postadres.<br />

country string Landnaam van het postadres.<br />

telephone string Telefoonnummer van de organisatie.<br />

email string Emailadres van de organisatie.<br />

worldWideWeb URI Webadres van de organisatie.<br />

Tabel 13: De klasse Contact<br />

Veranderingen<br />

Omdat persoonlijke gegevens van waarnemers niet zomaar uitgewisseld mogen worden, en er<br />

bovendien geen reden is om deze aan een afnemer van gegevens ter beschikking te stellen, zijn deze<br />

uit het model verdwenen. Aanbieders kunnen deze gegevens uiteraard bijhouden als ze dat willen,<br />

maar doen dat in een eigen systeem en zijn geheel vrij in de inrichting daarvan.<br />

In plaats van de observers- en van de organisations-tabel is er een object contact, dat<br />

contactinformatie bevat. Hierdoor kunnen nu ook de contactgegevens van organisaties worden<br />

opgeslagen. Deze constructie is precies genoeg om eigenaar, beheerder en validator vast te kunnen<br />

leggen.<br />

4 Informatie over de waarnemer en andere betrokkenen is nog niet in dit datamodel opgenomen omdat we nog te<br />

weinig inzicht hebben in wat er precies nodig is en hoe we dat het beste kunnen aanpakken. Dit zal dus in de<br />

toekomst worden toegevoegd.


Appendix: Relaties tussen Waarnemingen<br />

Deze appendix beschrijft een geplande uitbreiding die evenwel nog niet in het datamodel <strong>voor</strong><br />

<strong>Release</strong> 1 is opgenomen. De reden om het nog even weg te laten is dat we nog niet weten wat<br />

precies de implicaties zijn van deze constructie. <strong>Het</strong> is de bedoeling om dit in de context van het<br />

project dataconversie verder uit te zoeken, en dan zodra het kan deze uitbreiding toe te voegen.<br />

Complexe Waarnemingen<br />

Soms worden er waarnemingen gedaan die niet eenvoudig in een reeks attributen zijn vast te<br />

leggen. Vooral meetnetten leveren vaak wat complexere waarnemingsscenario's op. In dit model<br />

wordt hierin <strong>voor</strong>zien door ze te splitsen in enkelvoudige waarnemingen, die elk individueel correct<br />

maar onvolledig zijn, en deze enkelvoudige waarnemingen vervolgens te koppelen zodat de<br />

complete informatie af te leiden is.<br />

Zo kan een waarneming van de vorm “gebied X is onderzocht en op de punten p, q en r binnen X<br />

bevond zich een individu” worden gesplitst in een waarneming van drie individuen in gebied X, en<br />

drie waarnemingen van een enkel individu op punten p, q en r. Deze waarnemingen worden<br />

vervolgens gekoppeld via een “is een precisering van”-relatie. De waarneming wordt dan<br />

opgeslagen als “In gebied X bevonden zich drie individuen, en wel op punten p, q en r”. Bovendien<br />

is elk van de vier enkelvoudige waarnemingen op zich correct.<br />

Dubbelingen<br />

Er zijn soms bijzondere situaties waarin door verschillende personen een groot aantal<br />

waarnemingen wordt gedaan van hetzelfde individu. Ook gebeurt het dat er van een enkele<br />

waarneming meerdere records bestaan in een gegevensverzameling. Zeker in het eerste geval (waar<br />

het duplicaat niet zomaar gewist kan worden) is het om misinterpretatie te <strong>voor</strong>komen belangrijk<br />

dat er aangegeven kan worden dat het om een dubbeling gaat.<br />

Ook dit kan worden opgelost door een relatie aan te brengen tussen de observaties, in dit geval een<br />

“zelfde individu(en)”-relatie.<br />

Afgeleide Gegevens<br />

Naast directe waarnemingen worden er door bij<strong>voor</strong>beeld de PGO's ook van waarnemingen<br />

afgeleide gegevens over het <strong>voor</strong>komen van soorten uitgewisseld. Als de primaire gegevens ook<br />

beschikbaar zijn dan kan er een “afgeleid van”-relatie worden gelegd, zodat bij<strong>voor</strong>beeld bij een<br />

correctie van de brongegevens de verwerking opnieuw gedaan kan worden. In dit geval geeft het<br />

survey type attribuut de gebruikte verwerkingsmethode weer.<br />

Observation Relation<br />

De drie bovengenoemde scenario's, en potentieel andere, worden opgelost door het Observation<br />

Relation object. Dit object legt een gerichte relatie van een bepaald relatietype tussen twee<br />

waarnemingen. Voor elk relatietype wordt een code gedefinieerd.<br />

Dit is een flexibele constructie, die geen wijziging van het datamodel vereist als er een nieuw soort<br />

relatie nodig is. <strong>Het</strong> is daarmee ook een risicovolle constructie, omdat het nog niet duidelijk is wat<br />

<strong>voor</strong> soorten relaties er allemaal kunnen zijn, en een grote hoeveelheid relatietypen het correct<br />

interpreteren van gegevens flink bemoeilijkt. <strong>Het</strong> lijkt daarom verstandig om het toevoegen en<br />

wijzigen van relatietypen <strong>voor</strong>af te laten gaan door een breed overleg, waarbij niet alleen de<br />

codecommissie maar ook de datamodelbeheerders, architectuurcommissie en aanbieders van<br />

gegevens betrokken zijn.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!