Imperfecte Tijdsmodellering in historische...

73
Koen Van Daele Imperfecte tijdsmodellering in historische databanken Academiejaar 2009-2010 Faculteit Ingenieurswetenschappen Voorzitter: prof. dr. ir. Herwig Bruneel Vakgroep Telecommunicatie en informatieverwerking Master in de toegepaste informatica Masterproef ingediend tot het behalen van de academische graad van Begeleiders: ir. Tom Matthe, Antoon Bronselaer Promotor: prof. dr. Guy De Tre

Transcript of Imperfecte Tijdsmodellering in historische...

Page 1: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Koen Van Daele

Imperfecte tijdsmodellering in historische databanken

Academiejaar 2009-2010Faculteit IngenieurswetenschappenVoorzitter: prof. dr. ir. Herwig BruneelVakgroep Telecommunicatie en informatieverwerking

Master in de toegepaste informaticaMasterproef ingediend tot het behalen van de academische graad van

Begeleiders: ir. Tom Matthe, Antoon BronselaerPromotor: prof. dr. Guy De Tre

Page 2: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische
Page 3: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Koen Van Daele

Imperfecte tijdsmodellering in historische databanken

Academiejaar 2009-2010Faculteit IngenieurswetenschappenVoorzitter: prof. dr. ir. Herwig BruneelVakgroep Telecommunicatie en informatieverwerking

Master in de toegepaste informaticaMasterproef ingediend tot het behalen van de academische graad van

Begeleiders: ir. Tom Matthe, Antoon BronselaerPromotor: prof. dr. Guy De Tre

Page 4: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en delenvan de masterproef te kopieren voor persoonlijk gebruik.Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met be-trekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultatenuit deze masterproef.

The author gives permission to make this master dissertation available for consultation andto copy parts of this master dissertation for personal use.In the case of any other use, the limitations of the copyright have to be respected, in particularwith regard to the obligation to state expressly the source when quoting results from thismaster dissertation.

Gent, juli 2010

De auteur

Koen Van Daele

Page 5: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Woord vooraf

Dit werk is een combinatie van een jarenlange fascinatie voor zowel de geschiedenis van de

mens in al zijn facetten als voor de informatietechnologie. Het is mijn stellige overtuiging

dat we met de juiste methoden en technieken nog veel kunnen leren over het verleden van

die mens. Om dit te doen, moeten we de informatietechnologie wel laten spreken met de

geschiedenis. In deze conversatie stuiten we vaak op een fundamentaal verschil tussen de mens

en een computer. Een mens kan zonder problemen om met vage of onvolledige informatie.

Een computer wil alles zo duidelijk en zo helder mogelijk geformuleerd zien.

In deze masterproef heb ik me geconcentreerd op het omgaan met vage tijdsinformatie. Ik was

me al vrij kort na mijn afstuderen als archeoloog bewust van dit probleem. Het heeft echter

geduurd tot ik prof. dr. De Tre ontmoette voor ik een aanzet tot een oplossing zag. Ik wens

hem dan ook te danken voor het aanreiken van de concepten van vage en ruwe verzamelingen.

Tijdens dit onderzoek heb ik erg veel hulp gehad aan mijn begeleiders, Antoon Bronselaar

en Tom Matthe. Ik dank hun voor de nuttige en boeiende, soms vage, gesprekken.

Zoals elk project zou dit werk er niet gekomen zijn zonder de ondersteuning van de mensen

rondom mij. Ik zou Veerle willen bedanken omdat ze me aanmoedigde te starten met deze

studie en Leen omdat ze me hielp ze af te maken. Henk Van Daele liet me als 6-jarige kennis

maken met de wondere wereld van de homecomputer (MSX, televisie, casette, Basic, ...). Leo

Van Daele heeft me altijd gestimuleerd om met een open vizier naar het boeiende verleden

van de mensheid te kijken. Patricia Janssens was er steeds wanneer het nodig was.

De collega’s van het Vlaams Instituut voor het Onroerend Erfgoed wil ik bedanken voor de

vele vruchtbare gesprekken en gedachtenwisselingen. Ik hoop nog lang hun informatie en

inventarissen te kunnen beheren en ontsluiten. In het bijzonder wil ik Hans, Bram, Maarten,

Dieter en Bart bedanken voor het steeds aanwezige vertrouwen in elkaars kunnen.

Tenslotte zijn er nog Lena, Mira en Jef. Want zij zijn de toekomst.

Koen Van Daele

Gent 16 Juli 2010

iv

Page 6: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Imperfecte tijdsmodellering

in historische databanken

door

Koen Van Daele

Masterproef ingediend tot het behalen van de academische graad van

Master in de toegepaste informatica

Academiejaar 2009–2010

Promotor: prof. dr. ir. Guy De Tre

Begeleiders: ir. Tom Matthe, Antoon Bronselaer

Faculteit Ingenieurswetenschappen

Universiteit Gent

Vakgroep Telecommunicatie en informatieverwerking

Voorzitter: prof. dr. ir. Herwig Bruneel

Samenvatting

In deze masterproef wordt nagegaan hoe kan omgesprongen worden met onnauwkeurige envage temporele informatie in databanken die historische informatie bevatten. Eerst wordthet probleem duidelijk geschetst en geıllustreerd met voorbeelden. Er wordt nagegaan welkebestaande hulpmiddelen ingezet worden om deze problematiek op te lossen en of zij toereikendzijn. Vervolgens wordt getracht een oplossing te vinden in de literatuur.

Meer specifiek wordt onderzocht of ruwe en vage verzamelingen hier hulp kunnen bieden. Voorelk soort verzameling wordt uitgelegd hoe een onnauwkeurige datering kan worden voorge-steld. Tevens wordt nagegaan hoe men kan redeneren met deze ruwe en vage tijdsintervallen.Hier ligt de nadruk sterk op de vage tijdsintervallen aangezien deze beter gekend zijn in deliteratuur.

Tot slot wordt er een implementatie gemaakt van de vage tijdsintervallen in een postgresqldatabank. Er worden drie mogelijke manieren van redeneren met deze vage tijdsintervallengeımplementeerd en getest. Alle drie de methoden blijken gelijkaardige resultaten op te leve-ren. Uit de uitgevoerde testen blijkt wel dat er een duidelijke rangschikking qua performantieis.

Trefwoorden

onroerend erfgoed, datering, temporele relaties, vaagverzameling, databank

Page 7: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Modelling imperfect temporal information inhistorical databases

Koen Van Daele

Supervisor(s): Guy De Tre, Tom Matthe, Antoon Bronselaer

Abstract—This master paper takes a closer look at the problem of han-dling imperfect temporal information in historical databases. We inspectand define the nature of this problem, mainly originating from dealing withincomplete or vague information. Then we look for possible solutions incurrent scientific literature. We focus our attention on rough or fuzzy sets.We take a closer look at answering questions with these sets in a temporalcontext. We discuss how we implemented fuzzy time intervals in a Post-greSQL database. And finally, we discuss some test results that help usdetermine which method of answering fuzzy temporal questions is suitablein a live database in a production environment.

Keywords— heritage, dates, fuzzy time interval, rough time interval,database, postgresql

I. INTRODUCTION

WHEN constructing databases for applications dealingwith history, archaeology or other related disciplines,

we are often faced with incomplete or vague information. TheFlemish Heritage Institute maintains a large database of heritagein Flanders1. This database contains records about archaelogicalfindspots, historic buildings and landscapes. This informationhas an important temporal component. When trying to capturethis in a database we are faced with several problems.

First off all, we are faced with the problem of uncertainty.This problem manifests itself through information that we couldknow, but don’t. Among other things, the database allows her-itage researchers to record a birth date and a death date for archi-tects. Sometimes this information is only partially known. Forinstance, we know the year a person was born but not the day.We need a way to record this partial, but valuable, information.

If we take a further look at dates in a historical context wealso come across some things that can’t be accurately dated be-cause they have no clear beginning or end. A classic exampleof this is the industrial revolution. Nobody is able to pinpointthe exact day this started (or ended). Every researcher mighthave a different opinion about this. Therefore we call this typeof temporal information subjective.

For this paper we set out to find a way to represent uncertainbirth and death dates in a database containing biographical in-formation about architects. We do not only want to store thisinformation, we also want to be able to query it. While we dofocus on the problem of uncertainty, we do have other databasesthat deal with temporal information. For some of those it is im-perative that we can also represent subjective dates. So, we arelooking for a solution that offers both.

II. RESEARCH

WHILE researching, we came across rough and fuzzy settheory[1]. A rough set is a special kind of set where a

1inventaris.vioe.be

t

I(t)

0

1

EBeI CeI EEeISeI

Fig. 1. Representation of a fuzzy time interval.

distinction is made between a lower and an upper approxima-tion. The lower approximation is the set of all elements thatare certain to belong to the set. The upper approximation is theset of all elements that might belong to the set. The differencebetween these two sets forms a boundary region of element forwhich we can not conclusively decide wether or not they area member of the set. A rough set can be used to model un-certain information about a person’s life. Suppose we have aperson for whom we know he was born in 1900 and died in1995. This leads us to a rough set (L) consisting of a lowerapproximation L = [31/12/1900, 01/01/1995] that containsall the days we are certain he was alive. The upper approxi-mation L = [01/01/1900, 31/12/1995] contains the days hemight have lived. We call a rough set used to express temporalmeaning a rough time interval (RTI).

A fuzzy set on the other hand, is a set where a membershipfunction A : U → [0, 1] indicates to what degree an elementx ∈ U belongs to the set. There are elements that certainlybelong to the set and elements that certainly do not. There arealso elements that might belong to the set. We can indicate thedegree of their membership (as opposed to a rough set, wherewe have elements that might belong to the set, but we can notexpress how much they belong). We call the set of elements thatdefinitely belong to the set, the core (C). The set of elementsthat might belong to the set, we call the support (S). A fuzzy setused to express temporal meaning (figure 1) is also known as afuzzy time interval (FTI). Because an FTI allows us to expressa degree of membership, it is inherently more suited to repre-sent subjective information. For example, we can represent theslow evolution that was the industrial revolution. Therefore, wechoose to use FTI’s for the remainder of our work.

Of course, being able to represent uncertain and subjectivetemporal information is one thing. We would also like to querythis information. In [2], Allen determined a set of 13 possiblerelations between two sharp time intervals (STI). For our pur-pose we have added 5 extra composite relations, because the 13Allen relations are too detailed for most heritage researchers.

Page 8: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Relation Definitionbefore b(A, B) ≡ a+ < b−

overlaps o(A, B) ≡ a− < b− ∧ b− < a+ ∧ a+ < b+

during d(A, B) ≡ a− > b− ∧ a+ < b+

meets m(A, B) ≡ a+ = b−

starts s(A, B) ≡ a− = b− ∧ a+ < b+

finishes f(A, B) ≡ a+ = b+ ∧ b− < a−

equals e(A, B) ≡ a− = b− ∧ a+ = b+

after bi(A, B) ≡ b(B, A)overlapped by oi(A, B) ≡ o(B, A)contains di(A, B) ≡ d(B, A)met-by mi(A, B) ≡ m(B, A)started-by si(A, B) ≡ s(B, A)finished-by fi(A, B) ≡ f(B, A)bef bef(A, B) ≡ a+ ≤ b−

dur dur(A, B) ≡ a− ≥ b− ∧ a+ ≤ b+

intersects i(A, B) ≡ a+ > b− ∧ a− < b+

aft con(A, B) ≡ bef(B, A)con con(A, B) ≡ dur(B, A)

TABLE IPOSSIBLE RELATIONS BETWEEN 2 SHARP TIME INTERVALS. A = [a−, a+]

AND B = [b−, b+].

This leads us to a total set of 18 relations that we want to imple-ment for FTI’s.

In our research we came across three ways to determine fuzzytemporal relations between FTI’s. Nagypal and Motik[3] werethe first to propose a method. Their method is very simple,and works rather well. However, it cannot be used for fuzzytemporal reasoning. When dealing with two STI’s intervals,the Allen relation equals is reflexive. So, we would expecte(A, A) = 1. However, using Nagypal and Motik’s definitions,we arrive at e(A, A) = 0.5. In [4], a different approach was de-scribed. Ohlbach starts by stating that even STI’s that partiallyoverlap, might be thought of as being before if the overlap issmall enough. This approach, however, invalidates the original13 Allen relations. [5] adresses a third possible way. He de-fines a relation L�(α,β)(a, b) that expresses the extent to which a

is long before b. He also defines a similar relation L4(α,β)(a, b)

that expresses to what extent a is before or at the same time asb. Using these two fuzzy relations he defines fuzzy Allen re-lations. These definitions do appear to be very computationallyexpensive. In [6], he suggests an alternative that is computation-ally less expensive but only useable for trapezium shaped FTI’s.Fortunately, exactly this type of FTI is can be used to representmost situations.

III. IMPLEMENTATION

HAVING researched possible solutions, we decided to tryand implement the methods proposed by Nagypal and

Motik and Schockaert. We wrote methods to encode an FTIas a LINESTRING object in a PostgreSQL2 database using thePostGIS3 extension. PostGIS was used because it offers oper-

2www.postgresql.org3www.postgis.org

Year NM S1 S2n tijd (sec) n tijd (sec) n tijd (sec)

1001 0 0,12 0 0,06 0 0,061701 7 0,09 7 9,6 7 0,071901 132 0,58 132 419,01 132 0,12101 716 0,06 716 0,07 716 0,06

TABLE IICOMPARING THE FUZZY ALLEN BEFORE RELATION FOR NM(NAGYPAL

AND MOTIK), S1 (EXPENSIVE SCHOCKAERT), S2 (EFFICIENT

SCHOCKAERT)

ations like intersect, union and difference on linestrings. Everyfuzzy relation was implemented twice. Once using the Nagypaland Motik method (NM), once using the alternative method pro-posed by Schockaert (S2). The Allen before method was alsoimplemented using the more expensive Schockaert method (S1).Each of these implementations contains some guard clauses thatshortcircuit the expensive calculations when the fuzzy relationis obviously true or false.

To test and compare the three methods, we constructed adatabase containing biographical data for 716 persons. To rep-resent each person’s life, an FTI was constucted. The tablewas queried with four different dates for each method (table II).From these tests we learned that the three methods offered iden-tical results, but differ quite a lot in the time needed to calculatethem. Our results clearly indicate that the S1 method is severalorders of magnitude slower than the other two methods. TheNM and S2 methods are more evenly matched. We do observethat S2 scales betters when the number of persons that have tobe examined by the actual algorithm increases.

IV. CONCLUSION

USING fuzzy time intervals we have found a workable so-lution for handling imperfect temporal information in our

database. We can represent both uncertain and subjective infor-mation. Using the S2 method our database can process fuzzytemporal queries in a reasonable amount of time.

REFERENCES

[1] Yi Qiang, Katrin Asmussen, Matthias Delafontaine, Birger Stichelbaut,Guy De Tre, Philippe De Maeyer, and Nico Van de Weghe, “Handlingimperfect time intervals in a two-dimensional space,” Onbepaald, 2010.

[2] J. F. Allen, “Maintaining knowledge about temporal intervals,” Communi-cations of the ACM, vol. 26, no. 11, pp. 832–843, 1983.

[3] Gabor Nagypal and B Motik, “A fuzzy model for representing uncertain,subjective and vague temporal knowledge in ontologies,” in On the Moveto Meaningful Internet Systems 2003 - Coopis, DOA, and Odbase, Catania,Sicily, Italy, 2003, vol. 2888 of Lecture Notes in Computer Science, pp.906–923, Springer.

[4] Hans Jurgen Ohlbach, “Relations between fuzzy time intervals.,” in TIME.2004, pp. 44–51, IEEE Computer Society.

[5] Steven Schockaert, Martine De Cock, and Etienne E. Kerre, “Fuzzifyingallen’s temporal interval relations.,” IEEE T. Fuzzy Systems, vol. 16, no. 2,pp. 517–533, 2008.

[6] Steven Schockaert, Martine De Cock, and Etienne E. Kerre, “An efficientcharacterization of fuzzy temporal interval relations,” in Proceedings ofthe 2006 IEEE World Congress on Computational Intelligence, 2006, pp.9026–9033.

Page 9: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Inhoudsopgave

Woord vooraf iv

Overzicht v

Extended abstract vi

Afkortingen en symbolen x

1 Inleiding 11.1 Onnauwkeurige dateringen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Vage dateringen binnen het Onroerend Erfgoed . . . . . . . . . . . . . . . . . 31.3 Doelstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Overzicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 De bestaande situatie 82.1 De Technische Omgeving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Bestaande modelleringen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.1 Historische personen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.2 Relicten en gehelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.3 Conclusie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Onderzoek 123.1 Onnauwkeurige datumvoorstellingen . . . . . . . . . . . . . . . . . . . . . . . 12

3.1.1 Scherp Tijdsinterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.1.2 Ruw Tijdsinterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.3 Vaag Tijdsinterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 Intervallen combineren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3 Onauwkeurige dateringen bevragen . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3.1 Tijdspunt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3.2 Scherp Tijdsinterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3.3 Ruw Tijdsinterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3.4 Vaag Tijdsinterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 Keuze van de methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

viii

Page 10: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Inhoudsopgave ix

4 Implementatie 294.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.2 Programmeren in PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.3 Gemeenschappelijke functies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.4 Implementatie van Nagypal en Motik . . . . . . . . . . . . . . . . . . . . . . . 344.5 Implementatie van Schockaert . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.5.1 Implementatie van Schockaert 1 . . . . . . . . . . . . . . . . . . . . . . 384.5.2 Implemenatie van Schockaert 2 . . . . . . . . . . . . . . . . . . . . . . 40

5 Testresultaten 425.1 Aanmaak van testdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.2 Methodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.3 Vergelijking tussen de drie methodes . . . . . . . . . . . . . . . . . . . . . . . 445.4 Vergelijking tussen Nagypal en Motik en Schockaert 2 . . . . . . . . . . . . . 46

6 Besluit 47

A Resultaten van de vergelijking tussen Nagypal en Motik en Schockaert 2 49

B Voorbeeldtoepassing 56

Lijst van figuren 59

Lijst van tabellen 60

Bibliografie 61

Page 11: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Afkortingen en symbolen

Afkortingen

CAI Centrale Archeologische Inventaris

VIOE Vlaams Instituut voor het Onroerend Erfgoed

STI Scherp Tijdsinterval

RTI Ruw Tijdsinterval

VTI Vaag Tijdsinterval

NM De methode van Nagypal en Motik om VTI’s te bevragen.

S1 De normale methode van Schockaert om VTI’s te bevragen.

S2 De efficiente methode van Schockaert om VTI’s te bevragen.

Symbolen

I De minimale verzameling van een RTI. Deze bevat alle elementen die zeker tot het RTIbehoren.

I De maximale verzameling van een RTI. Deze bevat alle elementen die mogelijk tot het RTIbehoren.

B− De elementen van een RTI die mogelijk maar niet zeker tot het RTI behoren en voor deelementen van I komen.

B+ De elementen van een RTI die mogelijk maar niet zeker tot het RTI behoren en na deelementen van I komen.

KeI De kernverzameling van een VTI. Deze bevat alle elementen die zeker tot het VTI beho-ren.

SeI De steunverzameling van een VTI. Deze bevat alle elementen die mogelijk tot het VTIbehoren.

V BeI Het vaag begin van een VTI.

V EeI Het vaag einde van een VTI.

x

Page 12: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 1

Inleiding

De mens is een wezen dat zijn omgeving probeert in te delen en te klasseren om er gripop te krijgen. Iedereen heeft de neiging om zaken in hokjes in te delen om het overzichtte kunnen bewaren. De hokjes die we hiervoor als mens afbakenen kunnen naargelang deomstandigheden vager of exacter zijn. Een computer is per definitie een exact wezen dat nietgemaakt is om met vaagheid om te gaan.

Binnen het domein van de menswetenschappen wordt er vaak gewerkt met data die maar bijbenadering juist is. Bij wetenschappen zoals geschiedenis en archeologie krijgen we vaak temaken met onvolledig of ”wolligeınformatie. Zo spreekt men in de architectuurgeschiedenisover de stijl van een gebouw. Er zijn gothische kathedralen, modernistische villa’s en Ju-gendstil burgerhuizen die allen duidelijk van elkaar te onderscheiden zijn. Er zijn echter ookgebouwen die zijn samengesteld uit verschillende stijlen en van elke stijl een beetje overnemen.Dit zien we bijvoorbeeld vaak bij de zogenaamde ’neo-stijlen’. Er zijn gebouwen in neogotiek,neoromaans, neorenaissance, ... Er zijn echter ook andere gebouwen waar het onderscheid zovaag is dat men deze moeilijk bij een stijl kan onderbrengen. Uiteindelijk blijkt de grens in devormentaal van ons gebouwd patrimonium soms eerder vaag te zijn en niet altijd makkelijkte definieren.

1.1 Onnauwkeurige dateringen

In de praktijk komt het probleem van de onvolledige informatie erg vaak voor wanneer hetgaat om het dateren van zaken. Dit kunnen mensen, gebouwen of gebeurtenissen zijn. Hoeverder we teruggaan in de tijd hoe moeilijk het is om nauwkeurige informatie te hebben enhoe minder belangrijk we het vinden om die te hebben. Enkel voorbeelden:

� De Irakoorlog tussen de Coalition of the Willing enerzijds en Irak anderzijds duurdevan 20 maart 2003 tot 1 mei 2003.

� Het ruimteveer de Challenger ontplofte op 28 januari 1986.

1

Page 13: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 1. Inleiding 2

� Op 19 september 1991 werd op de grens tussen Oostenrijk en Italie een ijsmummiegevonden. Het ging om een ongeveer 45 jaar oude man die om het leven kwam rond3150 v.Chr.

� Joseph Haydn werd geboren op 31 maart of 1 april 1732. Er is onzekerheid over zijngeboortedatum omdat in zijn officiele documenten niet de geboortedatum maar dedatum van zijn doop wordt vermeld.

� De Gallische Oorlogen werden door Julius Caesar gevoerd tussen ongeveer 58 v.Chr.en 50 v.Chr.

� De Lineaire Bandkeramiek is een prehistorische cultuur die kan gedateerd worden tussen5500 en 5000 tot 4900 v.Chr.

� De Australopithecus afarensis die in 1974 werd gevonden en de naam Lucy kreeg toe-bedeeld, leefde ongeveer 3,2 miljoen jaar geleden.

Uit bovenstaande lijst kunnen we enkele redenen distilleren waarom we af te rekenen hebbenmet onnauwkeurige dateringen.

Onzekerheid. Ten eerste is er het probleem van de informatie die we niet kennen of waaroveronzekerheid bestaat. We weten dat Lucy moet geboren zijn op een bepaalde dag en moetgestorven zijn op een andere. We hebben echter geen enkel idee van welke dag of welk jaardit zou kunnen zijn. We weten enkel dat dit ongeveer 3,2 miljoen jaar geleden was. Somskan het ook zijn dat er verschillende bronnen zijn die op zich wel elk een exacte datum geven,maar die in tegenspraak zijn, zoals bij de geboortedatum van Joseph Haydn.

Subjectiviteit. Ten tweede stuiten we op fenomen of zaken die nooit tot op een dag juist tedateren zijn. Omdat er geen eenduidige datering mogelijk is, is de datering vaak subjectief.Zelfs al zouden we heel veel extra informatie kunnen inwinnen over de Lineaire Bandkeramiek,dan nog gaan we nooit exact kunnen zeggen wanneer deze begon en wanneer deze eindigde.Een archeologische cultuur kenmerkt zich doordat er in de materiele resten van de mens eenaantal gelijkaardige kenmerken beginnen op te duiken. Dit kan bijvoorbeeld gaan om hetvoorkomen van gelijkaardige motieven in de versiering van het aardewerk, het gebruik vanbepaalde technieken (bv. de wijze van vuursteen debitage) of materialen (welk soort metaalof vuursteen werd gebruikt). In het begin komen deze sporadisch voor. Na een tijdje bereikenze een hoogtepunt om dan uiteindelijk weer te verdwijnen. De redenen waarom een cultuurverdwijnt zijn niet altijd even duidelijk. Het kan gaan om een eerder abrupte breuk omdat decultuur verdrongen wordt door een andere cultuur. Maar het kan ook een eerder geleidelijkeovergang zijn waarbij een cultuur evolueert tot een andere of eventueel samensmelt meteen tweede cultuur om dan een derde cultuur te vormen. Vaak zullen verschillende auteursdezelfde cultuur of periode op verschillende momenten laten beginnen of eindigen.

Granulariteit. Zoals ook reeds aangehaald is een exacte datering ook minder belangrijk hoeverder we terug gaan in de tijd. Veel mensen weten nog wanneer de eerste wereldoorlog afliep,

Page 14: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 1. Inleiding 3

maar van de Gulden Sporenslag kennen de meesten onder ons enkel het jaartal en van deveroveringen van Julius Caesar weten we misschien nog wel dat dit ergens in de eerste eeuwvoor Christus was. Dit omschrijven we als de granulariteit van een datum. Soms dateert meniets in termen van dagen en zelfs uren, maar hoe verder men terug gaat in de tijd, hoe meermen gaat werken met jaren, decennia, eeuwen of andere - nog grotere - tijdspannes. Vooreen archeoloog die werkt rond de ijzertijd is een datering in een bepaald decennium al zeernauweurig. Voor een historicus die rond de 19de eeuw werkt is een datering in een bepaalddecennium dan weer onnauwkeurig.

1.2 Vage dateringen binnen het Onroerend Erfgoed

Dit afstudeerwerk vertrekt niet van een theoretisch probleem, maar van een bestaande situa-tie. Tijdens ons werk als erfgoedonderzoeker en ICT-verantwoordelijke bij het Vlaams Insti-tuut voor het Onroerend Erfgoed (VIOE) werd we in het verleden vaak geconfronteerd metonvolledige datum-informatie. Het VIOE is de wetenschappelijke instelling die het Vlaamseonroerende erfgoed (archeologie, bouwkundig erfgoed en landschap) onderzoekt en inventari-seert en deze kennis verspreidt en toegankelijk maakt. Van nature is dit onderzoek doorspektmet onzekerheden en onvolledige informatie. In een tekst of een geschreven document is ditmeestal geen probleem aangezien wij als mens heel goed om kunnen gaan met die onvolledigeinformatie. De zaak wordt echter een stuk complexer wanneer we deze vage of onvolledigeinformatie in een databank willen gaan bijhouden en doorzoekbaar willen maken.

Een van de kerntaken van het VIOE is het inventariseren van het onroerend erfgoed. Hiertoezijn er verschillende projecten die binnen het VIOE worden uitgevoerd zoals de Inventaris vanhet Bouwkundig Erfgoed, de Centrale Archeologische Inventaris (CAI) [7], de Landschapsatlas[6] en de Inventaris van Historische Parken en Tuinen [5]. Al deze inventarissen gaan overde sporen van het verleden van de mens die we nu nog kunnen aantreffen boven of onder degrond. Dit gaat van een steentijdkamp op een oude duinrug over verdwenen Gallo-Romeinsenederzettingen en gotische kathedralen tot modernistische gebouwen. Het zal voor de lezermeteen duidelijk zijn dat deze inventarissen telkens een belangrijke temporele componenthebben. Telkens wordt de vraag gesteld - hoe oud is dit? En zelden is het antwoord eenduidig.

Voor deze scriptie concentreren wij ons op een enkel deelaspect van de Inventaris van hetBouwkundig Erfgoed. Deze inventaris biedt een overzicht van het waardevolle bouwkundigerfgoed dat in Vlaanderen aanwezig is. De inventaris werd aangevat in de jaren ’70 vande 20ste eeuw en wordt tot op de dag van vandaag aangevuld en uitgebreid. In het beginwerd deze opgesteld en verspreid in boekvorm. In essentie werd in elk boekdeel van de reeksBouwen door de Eeuwen Heen in Vlaanderen telkens een gebied behandeld. Dit kon eenarrondissement of kanton zijn, soms een volledige stad. Over elk interessant gebouw werdeen tekst geschreven waarin kort de historiek, de ouderdom, de functie en de vorm van hetgebouw geschetst werden.

Page 15: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 1. Inleiding 4

Pas in de jaren ’90 van de vorige eeuw werd er begonnen met de digitalisering van dezeinventaris. In het begin kwam dit neer op een toepassing waar men de inhoud van een dergelijkinventarisboek kon raadplegen. Mettertijd werden een aantal kenmerken of metadata (bv.de adresgegevens) over een bepaald gebouw apart bijgehouden in een relationele databank.

Deze evolutie leidde tot de huidige website http://inventaris.vioe.be die gelanceerd werdeind mei 2009. Deze website maakt het mogelijk de Inventaris van het Bouwkundig Erfgoedte doorzoeken volgens locatie-gebonden kenmerken zoals de gemeente of de straat waarineen gebouw ligt en andere eerder thematische kenmerken zoals de stijl waarin een gebouwwerd opgetrokken of de naam van de architect of bouwmeester. Terwijl deze informtie over dearchitect of bouwmeester vroeger niet meer dan een naam was, werd er in deze nieuwe websiteeffectief een aparte databank van personen voorzien. Zo werd het voor de onderzoekersmogelijk om van een persoon een naam en een voornaam maar ook een geboorte- en eensterfdatum, een geboorteplaats, een beroep en een korte biografie op te geven. Bij de aanmaakvan deze tabel werden de geboortedatum en de sterfdatum opgenomen als date velden. Erstelt zich echter een probleem voor personen waarbij deze informatie niet of niet vollediggekend is.

Alhoewel we in ons onderzoek rekening houden met zowel de problematiek van de onzekerheidals die van de subjectiviteit, focussen we ons voor de implementatie op de deze personen-databank. Onze concrete vraagstelling gaat dus uit van het probleem van de onzekerheidzoals hierboven beschreven. We weten zeker dat deze personen op een bepaalde dag geborenen gestorven zijn. Alleen weten we niet altijd exact welke dag dit was. Het beperkt ookde waaier van dateringen waar we mee kunnen geconfronteerd worden. Zo is het oudstebouwwerk dat in de inventaris van het bouwkundig erfgoed werd opgenomen de Romeinsestadsmuur van Tongeren. Deze dateert uit de eerste eeuw na Christus1. We mogen er danook van uit gaan dat alle bouwmeesters, architecten en historische personen waarmee weaan de slag gaan, geboren zijn na het jaar 0 van onze tijdsrekening. Voor de meer recentepersonen zijn de exacte data meestal wel gekend of te achterhalen. Ook hier wordt het weerprogressief moeilijker om de informatie te achterhalen naargelang de persoon langer geledenleefde. Enkele voorbeelden:

Lucas Faydherbe Werd geboren op 19/01/1617 en overleed op 31/12/1697.Zie http://inventaris.vioe.be/dibe/persoon/2128.

Jan Guethegem 15de eeuws bouwmeester.Zie http://inventaris.vioe.be/dibe/persoon/7829.

Alexis Van Mechelen Werd geboren in mei 1864 en overleed op 16/03/1919.Zie http://inventaris.vioe.be/dibe/persoon/5378.

Adam Gheerijs Werd geboren ca. 1320-1325. Overleed op 10/12/1394.Zie http://inventaris.vioe.be/dibe/persoon/2338.

1http://inventaris.vioe.be/dibe/relict/200321

Page 16: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 1. Inleiding 5

Louis Delacenserie Werd geboren op 27-09-1838 en overleed op 02-09-1909.Zie http://inventaris.vioe.be/dibe/persoon/7038.

Karel Van Riet Werd geboren in 1906 en overleed in 1995.Zie http://inventaris.vioe.be/dibe/persoon/5473.

Hendrik van Tienen We kennen geen geboorte of sterfdata. We weten alleen dat hij in in1396 werkte aan de St.-Janskerk in Diest.Zie http://inventaris.vioe.be/dibe/persoon/5539.

Jean d’ Oisy Werd geboren ca. 1310 in de buurt van Valenciennes en overleed in 1377 teBrussel.Zie http://inventaris.vioe.be/dibe/persoon/5435.

We hebben dus soms een exacte dag, soms een maand of een jaar. Soms hebben we eenperiode van een paar jaar waarin iemand moet geboren of gestorven zijn en soms weten weenkel dat iemand in een bepaalde tijd leefde of werkte. Bij sommige personen is de informatieomtrent plaatsen ook nog eens vaag (vb. in de buurt van Valenciennes), maar dit is een apartprobleem dat we in deze scriptie niet behandelen.

Een interessant bijkomend probleem dat hier opduikt zijn de personen waarvan er momenteelgeen sterfdatum is ingevuld. Van oudere personen (geboren in de 19de eeuw of ouder) kunnenwe vrij zeker zijn dat ze gestorven zijn maar dat we hun sterfdatum niet kennen. Met eenarchitect die geboren werd in 1934 wordt het echter een pak moeilijker. We speuren nietsystematisch de overlijdensberichten af om te weten te komen of een persoon in onze databankoverleden is, dus we kunnen nooit weten of de datum onbestaand dan wel ongekend is.

1.3 Doelstelling

We menen nu duidelijk gemaakt te hebben dat de problemen die inherent zijn aan temporeleinformatie in het domein van de geschiedenis en het onroerend erfgoed niet triviaal zijn.We wensen dan ook een oplossing te vinden die maximaal bruikbaar is om de overgrotemeerderheid van onze problemen op te lossen.

In concretu verwachten we tot een systeem te komen waarmee we al dan niet vage biografischedateringen kunnen opslaan in een databank en later terug kunnen opvragen. We verwachtentevens dat we aan deze dateringen vragen kunnen stellen, zoals ıs deze persoon geboren inde 19de eeuw?of ”wie stierf er tijdens de Franse Revolutie?”. Tenslotte wensen we in onzeoplossing ook over een zekere mate van validatie te beschikken. Zo mag het niet mogelijk zijneen persoon zijn sterfdatum in te voeren als 31 september 1345.

We wensen er ook rekening mee te houden dat onze gebruikers, de erfgoedonderzoekers,de gekozen oplossing moeten kunnen bevatten en toepassen. Uiteindelijk zijn zij het die

Page 17: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 1. Inleiding 6

voor een bepaalde persoon de geboorte- en sterfdatum kennen of kunnen opzoeken. Zijmoeten ook in staat zijn hun (dikwijls onvolledige) kennis in het systeem op te slaan. ZoalsNagypal[8] al opmerkte is het vaak niet evident voor computerexperten en domeinexperten omsamen te werken. Voor een erfgoedonderzoeker of historicus is een al te formele modelleringtegen-intuıtief en onhandig. Dergelijke onderzoekers zijn gewoon tijd uit te drukken mettaal die natuurlijk erg flexibel is. We zouden graag tot een methode komen die mindervaag en flexibel is dan het taalkundig omschrijven van een datering, maar die nog steedsbegrijpbaar is voor mensen zonder een sterke wiskundige achtergrond. Het effectief bouwenvan een gebruikersinterface voor het ingeven van dateringen hoort niet tot het doel van dezemasterproef maar we wensen het aspect niet volledig uit het oog te verliezen.

Alhoewel we ons voor de praktische uitwerking in deze masterproef beperken tot personen uitde voorbije 2 millenia, willen we niet blind zijn voor de noden van onze andere databanken.We gaan er dan ook van uit dat een eventuele oplossing ook toepasbaar moet zijn op subjec-tieve dateringen en dat ze moet kunnen toegepast worden op dateringen uit bijvoorbeeld deprehistorie.

Voor alle duidelijkheid willen we nog even een overzicht geven van de zaken die we graagzouden mogelijk maken met onze oplossing.

� Dateringen opslaan die exact zijn. Vb. Lucas Faydherbe werd geboren op 19/01/1617.

� Dateringen opslaan die onzeker zijn. Vb. Alexis Van Mechelen werd geboren in mei1864.

� Dateringen opslaan die subjectief zijn. Vb. De Lineaire Bandkeramiek eindigt in deperiode 5.000-4.900 voor Christus.

� Dateringen opslaan met verschillende granulariteit. Vb. in jaren en in dagen. Wekunnen dus zowel opslaan dat iemand geboren is op 12 februari 1456, in februari 1456of in 1456.

� Omgaan met personen waarvan we niet zeker zijn of ze nog in leven zijn.

� Een exacte datum valideren. Vb. Vaststellen dat 31 september 1345 niet kan bestaanhebben.

� Vragen stellen over de ingevoerde dateringen. Vb. Welke personen hebben geleefd inde 19de eeuw? Hierbij is het ook erg belangrijk dat een zoekopdracht performant wordtuitgevoerd. Het systeem moet onmiddelijk kunnen reageren op vragen.

1.4 Overzicht

We hebben ons werk opgedeeld in vijf grote blokken. Het eerste is de inleiding die u nu aanhet lezen bent. Wij hopen hierin duidelijk gemaakt hebben dat er een probleem is en totwelk soort oplossing we graag zouden komen.

Page 18: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 1. Inleiding 7

Daarna bekijken we de bestaande situatie. Wat is de omgeving waarbinnen we ons probleemmoeten oplossen en welke andere methoden worden binnen deze omgeving gebruikt om metal dan niet vage temporele informatie om te gaan? Ook wordt er nagegaan of deze anderemethoden ons probleem kunnen helpen oplossen.

In het derde deel, het onderzoek, wenden we onze blik naar de beschikbare literatuur overvage temporele informatie. We gaan na hoe we een vage datering kunnen voorstellen. Tevensonderzoeken we hoe we de relaties tussen tijdsintervallen kunnen analyseren. Eerst bekijkenwe dit voor gewone, scherp begrensde, tijdsintervallen en daarna voor de vage voorstellingendie we onderzocht hebben.

In het vierde deel implementeren we een aantal van de oplossingen die de literatuur gebodenheeft. We leggen uit hoe we dit deden en welke vaststellingen we bij de implementatie kunnendoen.

In het vijfde deel testen we de implementatie die we gemaakt hebben. We vergelijken deverschillende methoden. We gaan na of ze dezelfde resultaten geven en hoe performant elkeoplossing is.

Tenslotte sluiten we af met een besluit waarin we nog eens onze bevindingen samenvattenen op een rij zetten. Ook willen we nog even stilstaan bij het toekomstperspectief die dezemethodologie biedt voor onze toepassing en welke verbeteringen er eventueel nog mogelijkzijn.

Page 19: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 2

De bestaande situatie

Aangezien het probleem zich voordoet binnen een bestaande toepassing is het belangrijk datwe even stilstaan bij de technische specifiaties van deze toepassing. Tevens willen we een blikwerpen op hoe er momenteel binnen deze toepassing met dateringen wordt omgegaan. Wewillen zeker zijn dat de bestaande methodes die worden toegepast inadequaat zijn om onsprobleem op te lossen vooraleer we op zoek gaan naar iets nieuws.

2.1 De Technische Omgeving

De inventaris onroerend erfgoed is een vrij typische web gebasseerde toepassing waarbij degebruiker werkt via een browser (de client) en communiceert met een server. Deze serverbestaat op zijn beurt weer uit een applicatieserver en een databankserver. De applicatieserverontvangt de verzoeken van de client, legt een connectie met de databankserver en stuurt degevraagde gegevens terug.

De volledige omgeving is opgebouwd uit een aantal vrij typische en goed gekende open sourcecomponenten. Het totale plaatje ziet er als volgt uit:

Client De eindgebruiker maakt gebruik van een browser. De pagina’s die publiek toegan-kelijk zijn worden getest voor een grote waaier aan browsers. De pagina’s die door debeheerders gebruikt worden om data in te voeren worden enkel getest op de recenterebrowsers die een correcte ondersteuning voor (X)HTML en CSS bieden.

Applicatieserver De applicatieserver draait het Sun Solaris besturingssysteem en maaktgebruik van een Apache 2.2 webserver en programmacode geschreven in PHP 5.2.

Databankserver De databank die deze inventaristoepassing ondersteunt, draait het Post-greSQL RDBMS. Momenteel maken we gebruikt van versie 8.4

8

Page 20: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 2. De bestaande situatie 9

2.2 Bestaande modelleringen

In de huidige toepassing spelen dateringen nu al een belangrijke rol. Vooraleer we een nieuweoplossing zoeken, moet er nagegaan worden of er binnen het huidige systeem al iets aanwezigis dat zou kunnen dienen. Momenteel zijn er op twee plaatsen binnen het systeem datumsdie onnauwkeurig of vaag zijn. Enerzijds is dit bij de historische personen die nu al ingevoerdzijn. Anderzijds bij de relicten en gehelen van de inventaris bouwkundig erfgoed.

2.2.1 Historische personen

Bij de historische personen speelt de problematiek zoals we ze in het eerste hoofdstuk be-schreven hebben. Dit probleem is niet nieuw en doet zich reeds voor sinds de lancering vanhet nieuwe systeem in mei 2009. Voor de lanceringen bevatte het systeem nog geen geboorte-en/of sterfdata van personen. Toen werd vastgesteld dat er een probleem was met de on-nauwkeurige data, is er heel snel voor een pragmatische oplossing gekozen zodat er kon verdergewerkt worden. De erfgoedonderzoekers hebben de datum ingevoerd tot het niveau (jaar,maand, dag) dat zij kenden en de datumonderdelen waarover onzekerheid bestond ingesteldop 1. Zo heeft men de geboortedatum van Alexis Van Mechelen ingevoerd als 01/05/1864alhoewel men enkel weet dat hij in mei 1864 geboren is. De geboortedag van Karel VanRiet heeft men dan weer ingevoerd als 01/01/1906 alhoewel enkel zijn geboortejaar gekendis. Indien de geboorte- of sterfdatum niet op zijn minst te herleiden is tot een jaartal, wordter geen datum opgenomen.

Het moge duidelijk zijn dat deze oplossing enige verdienste heeft maar al snel voor een aantalproblemen zorgt. Want hoe weet een persoon die de geboortedatum van Karel van Rietleest dat dit niet 1 januari 1906 is, maar dat dit moet geınterpreteerd worden als ergens in1906 ? Op dit moment is er geen enkele manier om dit onderscheid te maken. We zoudendit probleem kunnen oplossen door een extra veld ”nauwkeurigheid”toe te voegen waarbij weopgeven of een bepaalde datum volledig nauwkeurig is of enkel wat betreft de maand of hetjaar. Op die manier zouden we dit systeem zelfs nog kunnen uitbreiden met het decenniumof de eeuw. Eigenlijk verdelen we de tijdsas die in feite continu is in discrete stukken meteen verschillende granulariteit en wijzen we een bepaalde datum toe aan een bepaald stuk.Dit werkt deels maar is niet altijd optimaal. Wat doen we dan bv. met Jean d’ Oisy die ca.1310 geboren werd. Delen we deze in bij het interval [1300− 1310[ (eerste decennium) of bijhet interval [1310− 1320[ (tweede decennium)? Of zijn we genoodzaakt zijn geboortedatumenkel nog in te stellen als zijnde de 14de eeuw?

Om aan te tonen dat het probleem de komende jaren enkel erger zal worden en beter vroegdan laat wordt aangepakt, hebben we in tabel 2.1 het aantal personen opgenomen in onzedatabank en het aantal onnauwkeurige dateringen. Bij het lezen van deze getallen moeten weer rekening mee houden dat er bij de lancering van de nieuwe toepassing in mei 2009 van geenenkele persoon biografische data beschikbaar waren. Er is dus al vrij veel data ingevoerd. We

Page 21: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 2. De bestaande situatie 10

stellen echter vast dat bij 42% van de personen waarvan een geboorte- of sterdatum gekendis, deze potentieel onnauwkeurig is. We mogen er van uit gaan dat er hierbij enkele datumszullen zitten die wel kloppen maar de meerderheid zal effectief onzeker zijn. Verder valt hetook op dat we vaker over een geboorte- dan een sterfdatum beschikken en dat er slechtsweinig personen zijn waarvan we wel de sterfdatum kennen maar geen geboortedatum. Deverhouding tussen nauwkeurige en onnauwkeurige dateringen ligt zo goed als exact gelijk bijgeboorte- en sterfdatums.

Deze statistieken tonen aan dat we voor onze implementatie zeker rekening moeten houdenmet personen waarvan slechts 1 enkele datum gekend. Indien we de categorie van de personendie wel een geboorte- maar geen sterfdatum hebben nader bekijken dan zien we dat deovergrote meerderheid (82%) in de 20ste eeuw geboren is en dus potentieel nog in leven is.We zullen dus bij het beantwoorden van vragen een voorstelling van hun levensloop moetensamenstellen.

Omschrijving Aantal Potentieel onnauwkeurig Percentage

geboorte- of sterfdatum 643 273 42,45%geboortedatum 635 236 37,16%sterfdatum 520 193 37,11%

Tabel 2.1: Aantallen geboorte- of sterfdatums in de databank op 26/05/2010 op een dataset van5566 personen.

2.2.2 Relicten en gehelen

Binnen de inventaris van het bouwkundig erfgoed spreekt men over relicten en gehelen. Gros-so modo komen relicten overeen met individuele gebouwen, beelden of kleine stukjes erfgoed.Gehelen zijn de grotere, meer vlakdekkende bebouwingen zoals tuinwijken, begijnhoven enstraten. Ook deze kennen natuurlijk een belangrijke temporele component. De erfgoedon-derzoekers proberen van een gebouw steeds de evolutie te vatten door de verschillende faseswaarin een gebouw werd opgetrokken of ingrijpend gewijzigd te noteren. Zo zal een 18de-eeuws herenhuis dat in de 20ste eeuw een winkel werd als dateringen 18de eeuw en 20steeeuw krijgen. Men dateert dus niet van wanneer tot wanneer het pand bewoond werd maarwanneer het gebouwd of verbouwd werd.

Voor deze dateringen werd er beslist dat het niet nodig was te kunnen dateren tot op eenjaartal nauwkeurig. Men werkt met een systeem waarbij een eeuw wordt onderverdeeld intwee helften en vier kwarten. In teksten noteert men de helften met A en B en de kwarten meta, b, c en d. Om bondig te zijn passen we dit systeem verder in deze tekst ook toe. Dit systeemwas al in voege toen de inventaris nog in boekvorm verscheen. Binnen de huidige toepassingwerd dit opgelost met behulp van een thesaurus[11]. Voor de 18de eeuw werden de volgendetermen aangemaakt: 18, 18A, 18a, 18b, 18B, 18c, 18d. Deze werden aan elkaar gekoppeld

Page 22: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 2. De bestaande situatie 11

met behulp van de relaties BT (Bredere Term) en NT (Nauwkeuriger Term). Zo bevat hetsysteem de relaties 18 NT 18A NT 18a en de relaties 18b BT 18A BT 18. Wanneer menverder teruggaat in de tijd wordt het systeem gaandeweg aangepast. De volle middeleeuwenen de periodes daarvoor maken enkel nog gebruik van halve eeuwen en niet van kwarten. Bijde vroege middeleeuwen en de periodes daarvoor wordt er zelfs geen opdeling in eeuwen meergebruikt maar werkt men enkel nog met termen zoals Romeinse tijd en Bronstijd.

Dit is in wezen een gelijkaardig systeem zoals beschreven voor de personen. Alleen zijn allemogelijke waarden hier al op voorhand gedefinieerd in een thesaurus. Ook hier kunnen erzich problemen voordoen met gebouwen die waarvan een bouwfase zich over meerdere termenuitstrekt of op de rand van twee termen zit. Mochten we dit systeem verder willen doortrekkennaar de personen dan zouden we op een lager vlak nog niveau’s moeten toevoegen om jarenen dagen te modelleren. Stel dat we voor een eeuw de jaren en voor alle jaren de dagentoevoegen dan zouden we meer dan 360.000 termen nodig hebben om een enkele eeuw voorte stellen. Dit is natuurlijk onwerkbaar.

Deze manier van omgaan met dateringen vertoont erg veel gelijkenissen met wat Nagypal[9]omschrijft als het temporeel vector ruimte model, alhoewel we in onze toepassing geen gewichttoekennen aan een bepaalde term. Nagypal spreekt ook over het concept van de granulari-teitswissel waarbij voor bepaalde documenten ”grotere”termen worden gebruikt dan andere.Dit stemt overeen met onze methode om voor oudere periodes met langere tijdsintervallen tewerken.

Er moet wel gezegd dat het zoeken met dit systeem erg performant is. Een zoekopdrachtnaar gebouwen uit de 18de eeuw wordt herleid tot een zoekopdracht naar gebouwen die eendateringen hebben gelijk aan 18 ∨ 18A ∨ 18a ∨ 18b ∨ 18B ∨ 18c ∨ 18d. Via een implementatievan een geneste verzameling [4] is het erg eenvoudig en performant om alle kinderen van eenbepaalde datering te vinden.

2.2.3 Conclusie

We beschikken binnen onze toepassing dus over een manier van omgaan met historischepersonen die niet voldoet aan onze eisen. Mogelijke wijzigingen aan dit systeem kunnen eenaantal problemen verhelpen maar niet allemaal. Binnen onze databank van het bouwkundigerfgoed gebruiken we een verwante techniek om met onnauwkeurigheid om te gaan maar ookdeze techniek voldoet niet aan onze eisen.

Page 23: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3

Onderzoek

3.1 Onnauwkeurige datumvoorstellingen

Voor onze masterproeg vertrekken we van een continue tijdslijn T waarbij elk punt op de lijneen tijdspunt t voorstelt. Elke t geven we aan met een reeel getal. We gaan er van uit dat delijn in beide richtingen oneindig is. We stellen het tijdspunt t = 1 gelijk met 1 januari 0001,de eerste dag van van het jaar 1 na Christus. Aangezien er geen jaar 0 bestaat stellen we hettijdspunt t = 0 gelijk aan de eerste dag van het jaar 1 voor Christus.

3.1.1 Scherp Tijdsinterval

Om datums of periodes te modelleren kunnen we gebruik maken van een numerieke as dieovereenkomt met de set R van de reele getallen. Elke datum kan op deze as worden afgebeeld(en dus ook een minder nauwkeurige datering zoals een enkel jaartal of een eeuw). Binnendeze voorstelling is een tijdsinterval I een deelverzameling van R die afgebakend wordt doortwee getallen I− en I+ waarbij I− ≤ I+.

Een dergelijk interval is een verzameling in de klassieke zin van het woord, ook wel gekend alseen scherpe verzameling (dit in tegenstelling tot de ruwe verzameling en de vaagverzamelingdie we straks bespreken). In een klassieke verzameling zijn er waarden die ofwel binnenofwel buiten de verzameling zitten. Van een scherpe verzameling A binnen het universum U

kunnen we zeggen dat er een lidmaatschapsfunctie is A : U → {0, 1}. A(x) = 1 als x ∈ Aen A(x) = 0 als x 6∈ A. Toegepast op tijdsintervallen kunnen we dus stellen dat er eenlidmaatschapsfunctie is die voor elke datum x aangeeft of deze tot dit interval hoort of niet.Een dergelijk tijdsinterval, wordt een scherp tijdsinterval (STI) genoemd.

Onzekerheid. Een STI kunnen we gebruiken om een periode te modelleren waarvan het begien het eindpunt gekend is. We kunnen de geboortedatum van Karel van Riet modellerenals zijnde behorende tot het interval [01/01/1900, 31/12/1900]. Zijn sterfdatum kunnen wedan weer modelleren als zijnde behorende tot het interval [01/01/1995, 31/12/1995]. Echter,zoals we al hebben aangegeven worden we soms geconfronteerd met tijdsintervallen waar

12

Page 24: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 13

niet onmiddelijk geweten is of een bepaalde datum x tot dit interval hoort. Stel dat webijvoorbeeld op basis van de twee bovenstaande STIs het leven van Karel van Riet willenmodelleren. Normaal komt dit overeen met het interval [geboortedatum, sterfdatum]. Hierkunnen we werken met de vroegst mogelijke geboortedag en de laatst mogelijke sterfdag enzo tot het interval [01/01/1900, 31/12/1995] komen. Op deze manier kunnen we echter nietaangeven dat er onduidelijkheid heerst. We kunne bijvoorbeeld niet aangeven 24/02/1900mogelijk niet tot het leven van Karel van Riet hoort.

Subjectiviteit. Stel dat we bijvoorbeeld de prehistorie willen modelleren. De prehistorie wordtgezien als de periode in de geschiedenis van de mens waarover geen geschreven bronnenbestaan. In Belgie wordt de komst van de Romeinen in 57 voor Christus als het einde vande prehistorie gezien, omdat er van dan af (hoewel zeer uitzonderlijk) geschreven bronnenbestaan. De in Belgie aanwezige Kelten hadden immers geen eigen geschreven bronnen.Maar er zijn wel geschreven bronnen beschikbaar die handelen over dit volk (geschrevendoor Romeinen of Grieken). Het einde van de prehistorie, waarin een inheems volk zelf noggeen geschreven bronnen heeft, maar een ander volk wel al bericht over dit volk, wordt deprotohistorie genoemd. In Belgie laat men de protohistorie samenvallen met het begin vande Bronstijd rond 2000 voor Christus en het einde met de komst van de Romeinen in 57 voorChristus. Met een STI kunnen we niet uitdrukken dat de periode 2000 voor Christus tot 57voor Christus minder tot de prehistorie behoort dan de daaraan voorafgaande periode. Wekunnen enkel stellen dat de prehistorie het interval ] − 300.000,−57] is. Dit wekt de indrukvan een abrupt begin en einde, alhoewel dit in realiteit niet zo was. Zo laten we de prehistoriehier beginnen in 300.000 voor Christus aangezien de oudste tot nu toe gekende vondsten uitdeze periode afkomstig zijn [20]. Er is echter geen garantie dat er voor deze datum geenmensen aawezig waren in Vlaanderen. Het is zelfs eerder waarschijnlijk dat ze er wel waren,maar dat we hun sporen nog niet hebben teruggevonden.

Het is dus duidelijk dat een STI wel buikbaar is om een onzeker datum weer te geven, maarniet om een onzeker periode te modelleren. Om een subjectieve datering weer te geven is eenSTI al helemaal niet geschikt.

3.1.2 Ruw Tijdsinterval

Bij een ruwe verzameling [14], [3] wordt er voor een verzameling R een klassificatie gemaaktnaar een verzameling R die een minimale verzameling vormt en een verzameling R die eenmaximale verzameling vormt. De elementen die deel uitmaken van R maken zeker deel uitvan R. De elementen die buiten R vallen maken zeker geen deel uit van R. Anders gezegdR ⊆ R. Het verschil tussen R en R vormt een grensgebied. Indien dit grensgebied leeg is(dus als R = R) dan vervalt R tot een scherpe verzameling. Van de elementen die in ditgrensgebied liggen kunnen we niet met zekerheid zeggen of ze tot R behoren.

Indien we het concept van de ruwe verzameling toepassen op tijdsintervallen (zie figuur 3.1)

Page 25: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 14

dan kunnen we een onnauwkeurig interval I modelleren als een minimale verzameling I eneen maximale verzameling I waarbij I ⊆ I. De combinatie van een I en een I noemen weeen ruw tijdsinterval (RTI). Het grensgebied tussen I

− en I− duiden we aan met B−. Hetgrensbegied tussen I+ en I

− duiden we aan met B+.

TI− I− I+

I+

B− I B+

I

Figuur 3.1: Voorstelling van een ruw tijdsinterval

Onzekerheid. Indien we de levensloop L van Karel van Riet willen modelleren kunnen we zijngeboortedatum G en sterfdatum S nog steeds modelleren als een STI. De volledige levensloopkunnen we modelleren door deze 2 STIs samen te voegen tot een RTI waarbij we het eindpuntvan G gelijk stellen met het begin van L en het begin van S gelijk stellen met het einde vanL. Op dezelfde manier is het begin van G het begin van L en het einde van S het einde vanL. We kunnen dit lezen als: Karel van Riet leefde zeker van 31/12/1900 tot 01/01/1995 enmisschien van 01/01/1900 tot 31/12/1995.

Samengevat:

G = [01/01/1900, 31/12/1900]

S = [01/01/1995, 31/12/1995]

L = [01/01/1900, 31/12/1995]

L = [31/12/1900, 01/01/1995]

B− = [01/01/1900, 31/12/1900[

B+ =]01/01/1995, 31/12/1995]

Merk op dat B− en B+ half open intervallen zijn en dat L en L gesloten intervallen zijn.

Een RTI is dus eigenlijk uitermate geschikte om de levensloop van een individu voor te stellenindien onze kennis ontoereikend is, bijvoorbeeld als we maar over informatie op het niveauvan het jaartal beschikken. We kunnen echter maar weinig uitspraken doen over B− en B+.We kunnen enkel stellen dat x er toe kan behoren maar eigenlijk kunnen we geen uitspraak

Page 26: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 15

doen over de mate waarin. We kunnen niet stellen dat 24/12/1900 meer kans heeft om totde levensloop van Karel van Riet te behoren dan 06/01/1900.

Met een RTI zijn we ook niet in staat dateringen die subjectief zijn te modelleren. Steldat we bijvoorbeeld de prehistorie willen modelleren. De prehistorie wordt gezien als deperiode in de geschiedenis van de mens waarover geen geschreven bronnen bestaan. In Belgiewordt de komst van de Romeinen in 57 voor Christus als het einde van de prehistorie gezien,omdat er van dan af (hoewel zeer uitzonderlijk) geschreven bronnen bestaan. In de daaraanvoorafgaande periode hadden de in Belgie aanwezig Kelten geen eigen geschreven bronnenmaar er zijn wel geschreven bronnen beschikbaar die handelen over dit volk (geschreven doorRomeinen of Grieken). In de archeologie wordt het einde van de prehistorie waarin eeninheems volk zelf nog geen geschreven bronnen heeft maar een ander volk wel al bericht overdit andere volk de protohistorie genoemd. In Belgie laat men de protohistorie samenvallenmet het begin van de Bronstijd rond 2.000 voor Christus en het einde met de komst vande Romeinen in 57 voor Christus. We zouden dus willen kunnen uitdrukken dat de periode2.000 voor Christus tot 57 voor Christus minder tot de prehistorie behoort dan de daaraanvoorafgaande periode. Dit kunnen we doen door het interval ] − 2000,−57] te zien als hetinterval B+. Dit wekt echter de indruk van een vrij abrupt einde en gaat voorbij aan het feitdat sommigen het concept van de protohistorie niet aanvaarden of er een andere definitie vanhanteren.

Subjectiviteit. Indien we terugkeren naar het probleem van de prehistorie, dan zouden wedeze als volgt kunnen modelleren als een RTI:

P = [−300.000,−2.000]

P = [−1.000.000,−57]B− = [−1.000.000,−300.000[

B+ =]− 2.000,−57]

We stellen dus dat de prehistorie mogelijk loopt van 1.000.000 voor Christus tot 57 voorChristus. We stellen dat ze zeker loopt van 300.000 voor Christus tot 2.000 voor Christus.Dit is dus een stap vooruit in vergelijking met het werken met een STI. We kunnen echter geenuitspraak doen over de mate waarin een datum al dan niet tot de prehistorie behoort. Wezouden bijvoorbeeld willen kunnen uitdrukken dat 1.900 voor Christus meer tot de prehistoriebehoort dan 60 voor Christus. Dit is echter niet mogelijk, we kunnen enkel stellen dat beidedata misschien tot de prehistorie behoren.

Een RTI biedt dus meer mogelijheden dan een STI. Voor wat betreft het modelleren van delevensloop van een persoon, zou een RTI aanvaardbaar zijn. Voor wat betreft het modellerenvan subjectiviteit schieten een RTI toch wat tekort. We zouden namelijk graag kunnenweergeven dat iets geleidelijk aan opkomt of verdwijnt.

Page 27: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 16

3.1.3 Vaag Tijdsinterval

Bij een normale, klassieke, verzameling hoort een element x al dan niet tot de verzameling. Bijeen ruwe verzameling hoort een element x zeker niet, misschien of zeker wel tot een bepaaldeverzameling. Bij een vaagverzameling wordt er aangeven in welke mate een element x toteen verzameling hoort. Er is dus een lidmaatschapsfunctie A : U → [0, 1]. Voor elke x ∈ Ustelt A(x) de mate voor waarin x tot A hoort. Bij een vaagverzameling wordt de verzamelingvan elementen die volledig tot A horen ook wel de kernverzameling genoemd. Dit zijn deelementen x waarvoor geldt dat A(x) = 1. De verzameling elementen die geheel of gedeeltelijktot A horen wordt de steunverzameling genoemd. Dit zijn de elementen x waarvoor geldt datA(x) > 0. De steunverzameling bestaat uit de kernverzameling aangevuld met de elementenwaarvoor 0 < A(x) < 1. Dit zijn de elementen waarvoor de toewijzing aan de verzamelingvaag is.

Indien we dit toepassen op dateringen dan kunnen we een onnauwkeurige datering voorstellenmet het vaag tijdsinterval I (zie figuur 3.2 waarbij er een lidmaatschapsfunctie I : T → [0, 1]bestaat die aangeeft in welke mate een element t ∈ T deel uitmaakt van het interval. Dekernverzameling van dit interval duiden we aan met KeI , de steunverzameling met SeI . Weonderscheiden ook nog het vaag begin V BeI waarmee we het stuk van de steunverzamelingaangeven dat voor de kernverzameling komt en het vaag einde V EeI waarmee we het stuk vande steunverzameling aangeven dat na de kernverzameling komt.

t

I(t)

0

1

V BeI KeI V EeISeI

Figuur 3.2: Voorstelling van een vaag tijdsinterval

Voor ons onderzoek gaan we er net zoals [10] en [15] en in tegenstelling tot [12] van uit dateen VTI altijd convex is. Mochten we een VTI voorstellen dat niet convex is dan zou diteen fenomeen zijn dat opkomt, afneemt en daarna terug toeneemt. Men zou bijvoorbeeld dehonderjarige oorlog kunnen beschouwen als een fenomeen dat soms afneemt. Aan de anderekant kan men ook de verschillende fasen in deze oorlog als aparte VTI’s beschouwen. In onzecasus van de historische personen kan een VTI enkel convex zijn. Als we de levensloop vaneen persoon bekijken dan kunnen we niet stellen dat persoon X rond zijn 50ste minder in

Page 28: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 17

leven was dan rond zijn 40ste of zijn 60ste. Uit ons onderzoek blijkt ook dat een convex VTIvoordelen biedt qua performantie.

Onzekerheid. Indien we terug naar het onderwerp van geboorte- en sterfdata kijken dankunnen we met een VTI makkelijk de levensloop van bv. Jean d’ Oisy (ca. 1310 tot 1377)modelleren. Dit zouden we als volgt kunnen modelleren:

KeI = [01/01/1315, 31/12/1376]

SeI = [01/01/1305, 31/12/1377]

Bij deze beschouwen we de aanduiding circa 1310 als zijn een periode van 10 jaar waarinde datum zou kunnen liggen. Hierdoor eindigen we met een steunverzameling die aangeeftdat Jean d’ Oisy zeker niet geboren was voor 1305 en zeker al gestorven was na 31/12/1377.Onze kernverzameling geeft aan de hij zeker in leven was in 1315 en zeker geleefd heeft tot31/12/1376. Het moeilijk ligt natuurlijk in de definitie van ”circa”. Verschillende onderzoe-kers zullen hiervoor verschillende definities hanteren. Gelukkig geeft ons VTI al aan dat hetbegin van het leven van Jean d’ Oisy niet goed gekend is.

Het leven van Jean d’ Oisy hadden we eveneens kunnen modelleren als een RTI waarbij dekernverzameling KeI van het VTI gelijk is aan de minimale verzameling I van het RTI en desteunverzameling SeI van het VTI gelijk is aan de maximale verzameling I van het RTI. Hetgrote verschil tussen beide modelleringen ligt echter in het de grensintervallen. Bij het RTIbeschikken we enkel over een interval I waarvan we weten dat Jean d’ Oisy mogelijk leefde.Bij het VTI kunnen we echter voor elk tijdspunt in het interval V BeI zeggen hoe groot dekans is dat dit tijdspunt tot de levensloop van Jean behoort.

Subjectiviteit. Indien we terugkeren naar het voorbeeld van de pre- en protohistorie dankunnen we de prehistorie in Vlaanderen modelleren als volgt:

KeI = [−300.000,−2.000]

SeI = [−1.000.000,−57]

Met een VTI kunnen we dus aangeven dat er weining kans is dat de prehistorie al begonnenwas in 970.000 voor Christus maar dat er veel kans is dat ze al begonnen was in 310.000voor Christus. Dit is een verschil met een RTI waar we alleen maar kunnen stellen dat deprehistorie mogelijk al begon tussen 1.000.000 en 300.000 voor Christus. Voor het einde vande prehistorie modelleren we dat deze vanaf 2.000 voor Christus begint af te nemen en dat wevanaf 57 voor Christus niet meer van de prehistorie spreken. Ook hier zeggen we dat 2.000voor Christus meer prehistorisch is dan 60 voor Christus.

Het grote voordeel van een VTI is dus dat we het zowel kunnen gebruiken voor een dateringdie onnauwkeurig is omdat er onzekerheid bestaat over de informatie (de geboortedatum van

Page 29: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 18

Karel van Riet of Jean d’ Oisy) als voor dateringen die subjectief zijn zoals de protohisto-rie. Van de drie soorten intervallen (STI, RTI en VTI) biedt een VTI ons dus de meesteflexibiliteit.

3.2 Intervallen combineren

In onze voorbeelden van intervallen van met onzekere datering hebben we tot nu toe altijdmet de levensloop van een historische persoon gewerkt. We hebben het leven van een persoonvoorgesteld als een al dan niet vaag of ruw interval met een start- en een eindpunt. We kunnenechter ook een datum die onnauwkeurig is als een interval op zich voorstellen. Bij deze stelthet interval de periode voor waarin de datum ligt. Zo zouden we de geboortedag van Karelvan Riet kunnen voorstellen als een STI, RTI of VTI:

G = [01/01/1900, 31/12, 1900]

G = [01/01/1900, 31/12/1900]

G = [01/01/1900, 31/12/1900]

K eG = [01/01/1900, 31/12/1900]

S eG = [01/01/1900, 31/12/1900]

Het RTI en het VTI stellen dus een verzameling voor die aangeeft dat we over 365 dagenbeschikken waarvan we zeker zijn dat Karel van Riet op een van deze dagen geboren is.Aangezien we geen informatie hebben over welke dag dit zou kunnen zijn kunnen we bij hetVTI niet werken met een vaag begin of vaag einde. Elke dag maakt dus evenveel kans om degeboortedag te zijn.

Indien we nu tot de levensloop van Karel van Riet willen komen, mogen we niet zomaar nieuweintervallen opstellen op basis van de intervallen die de geboorte- en sterfdag modelleren.Het zou immers ongenuanceerd zijn om het beginpunt van het interval dat de geboortedagmodelleert samen met het eindpunt van het interval dat de sterfdag modelleert te combinerentot een nieuw interval. Mochten we dit doen, dan zouden we het volgende resultaat krijgen:

Page 30: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 19

L = [01/01/1900, 31/12/1995]

I = [01/01/1900, 31/12/1995]

I = [01/01/1900, 31/12/1995]

KeI = [01/01/1900, 31/12/1995]

SeI = [01/01/1900, 31/12/1995]

Hierbij gaat het feit dat er onzekerheid bestaat over de geboortedag verloren. Nochtanskunnen we dit voor een RTI en een VTI wel weergeven. Een correctere modellering zou zijn:

L = [01/01/1900, 31/12/1995]

I = [31/12/1900, 01/01/1995]

I = [01/01/1900, 31/12/1995]

KeI = [31/13/1900, 01/01/1995]

SeI = [01/01/1900, 31/12/1995]

In deze modellering komt de vaagheid die onze informatie kenmerkt wel tot uiting. We stellenhier dat we pas zeker zijn dat Karel van Riet leeft op de laatste dag van G. Hier is het duszo dat G en S fundamenteel een ander concept uitdrukken dan L. G en S zijn namelijkde verzameling van datums waarvan we zeker zijn dat een van deze datums de geboorte- ofsterfdag is. Bij L drukken we echter voor elke tijdspunt t de kans uit dat Karel van Riet inleven is.

We moeten bij het combineren van bestaande intervallen tot nieuwe intervallen dus steedsaandachtig zijn voor de betekenis van de intervallen waarmee we werken. Sommige intervallengeven het bereik aan waarbinnen een punt moet gezocht worden en andere intervallen geveneffectief een tijdsverloop aan.

3.3 Onauwkeurige dateringen bevragen

Natuurlijk is het een zaak om een datum of interval te gaan voorstellen als een verzameling,met zoekopdrachten op die voorstellingen uitvoeren is een andere zaak. Van twee datums ishet gemakkelijk te zeggen welke eerst komt. Wannner we twee STIs vergelijken, wordt het al

Page 31: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 20

wat complexer. Maar als we met RTIs en zeker met VTIs gaan werken wordt het pas echtmoeilijk. We bekijken de drie verschillende soorten intervallen dan ook van gemakkelijk naarmoeilijk. Om het plaatje compleet te maken starten we met het vergelijken van twee gewonedatums.

3.3.1 Tijdspunt

Aangezien we alle datums afbeelden op de tijdslijn T die overeenkomt met de verzamelingvan de reele getallen, kunnen we twee datums A en B eenvoudig vergelijken met elkaar. Indit geval zijn er drie mogelijkheden: A < B, A = B of A > B. We kunnen twee datums opde tijdslijn dus altijd rangschikken.

3.3.2 Scherp Tijdsinterval

Indien we werken met twee STIs dan worden de mogelijke combinaties groter. Allen [2] heefthierrond onderzoek verricht en kwam tot dertien mogelijke relaties tussen twee tijdsinterval-len. Deze relaties kunnen steeds herleid worden tot een combinatie van vergelijkingen tussende begin- en eindpunten van de beide intervallen. Neem bijvoorbeeld de relatie before(A,B).Deze relatie die uitdrukt of A voor B komt kan herleid worden tot een vergelijking tussen heteindpunt van A (A+) en het beginpunt van B (B−). Indien A+ voor B− komt dan komt Avoor B. Deze set van dertien relaties wordt in de literatuur algemeen omschreven als de Allenrelaties. Zie tabel 3.1 voor een overzicht. Een interessante eigenschap van deze 13 relaties isdat ze wederzijds exclusief zijn. Tussen 2 tijdsintervallen A en B zal er dus altijd 1 en slechts1 relatie geldig zijn.

In zijn publicatie neemt Allen nog twee relaties op waaraan in latere onderzoeken geen of wei-nig aandacht meer besteed wordt. Hij spreekt over de relatie dur(A,B) ≡ d(A,B)∨s(A,B)∨f(A,B) en de relatie con(A,B) ≡ di(A,B) ∨ si(A,B) ∨ fi(A,B). De relatie dur is dus eensamenvoeging van alle relaties die uitdrukken dat A in B te vinden is en de relatie con is eensamenvoeging van alle relaties die uitdrukken dat A B bevat. Dit zijn dus geen fundamentelerelaties. Ze kunnen evengoed uitgedrukt worden met behulp van de andere dertien relaties.We menen echter dat deze wel relevant zijn voor een erfgoedonderzoeker. Volgens ons slui-ten de con(A,B) en dur(A,B) beter aan bij de manier waarop een erfgoedonderzoeker deconcepten tijdens en omvat ervaart.

Een zelfde soort samengestelde relatie kunnen we definieren voor de relaties b en m en derelaties bi en mi als bef(A,B) ≡ b(A,B) ∨ m(A,B) en aft(A,B) ≡ bi(A,B) ∨ mi(A,B).Uit gesprekken met erfgoedonderzoekers hebben we afgeleid dat bef(A,B) en aft(A,B) ookweer dichter aanleunen bij de door hun gekende concepten voor en na. Zo hebben we vast-gesteld dat een erfgoedonderzoeker de Belle Epoque(1890-1914) ziet als komende voor deeerste wereldoorlog alhoewel volgens de Allen relaties de Belle Epoque de eerste wereldoorlogontmoet.

Page 32: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 21

Nagypal en Motik voegen aan de 13 Allen relaties nog een 14de relatie toe, intersects[10].Deze relatie geeft aan of twee intervallen elkaar snijden. Met andere woorden, hebben zeeen punt gemeenschappelijk? Het onderzoek van Nagypal en Motik moet worden gesitueerdbinnen het VICODI1 project dat een ontologie van de Europese geschiedenis probeerde op testellen. Zij stellen dat de intersects relatie cruciaal is binnen een historische context. Volgensons is deze relatie ook voor het onroerend erfgoed onontbeerlijk en waarschijnlijk zelfs debelangrijkste relatie. Stel bijvoorbeeld dat een onderzoeker de vraag stelt: Toon mij alle19de eeuwse architecten. Dan wil deze eigenlijk alle architecten kennen die deels of geheelin de 19de eeuw geleefd hebben. Dit kan gemodeleerd worden met de bestaande relaties als(o(A,B)∨ d(A,B)∨ s(A,B)∨ f(A,B)∨ oi(A,B)∨ di(A,B)∨ si(A,B)∨ fi(A,B)∨ e(A,B))waarbij A het leven van een architect is en B de 19de eeuw. Maar omdat deze relatie voorons zo belangrijk is en bovendien te herleiden valt tot een eenvoudiger formule, voegen wedeze toe aan de tabel met Allen relaties.

We beschikken dus in het totaal over de 13 Allen relaties en 5 aanvullende, samengestelde, re-laties die relevant zijn voor een erfgoedonderzoeker. We vermoeden dat andere onderzoeksdo-meinen baat zouden kunnen hebben bij andere samengestelde relaties. Men zou bijvoorbeeldook nog de relatie not intersects kunnen toevoegen die aangeeft dat twee tijdsintervallen nietsmet elkaar te maken hebben, maar hierin zien we voor het onroerend erfgoed op dit momentgeen praktisch nut.

3.3.3 Ruw Tijdsinterval

Indien we overstappen van een scherp tijdsinterval naar een ruw tijdsinterval worden de zakencomplexer. De beschikbare literatuur over dit onderwerp is opvallend schaarser in vergelijkingmet de literatuur die beschikbaar is over de vage tijdsintervallen (cfr. infra).

Bassiri[3] toont 68 mogelijke relaties aan tussen twee ruwe tijdsintervallen. Zo geeft hijhet voorbeeld van een relatie absolutely before tussen A en B wanneer het steungebied van Avolledig voor het steungebied van B komt, een relatie just before wanneer het het steungebiedvan A het steungebied van B raakt en een relatie semi meet wanneer het steungebied van Ahet steungebied van B snijdt maar het kerngebied van A het steungebied van B niet snijdt.Door alle mogelijke combinaties tussen de kern- en steungebied van A en B te maken komthij tot 68 relaties. Belangrijk hierbij is dat hij er van uit gaat dat al zijn RTI’s een evengroot steungebied hebben - een eigenschap waarover onze mogelijke ’erfgoed’ RTI’s al zekerniet beschikken. Bassiri definieert bovendien wel mogelijke relaties tussen twee RTI’s A enB maar reikt ons geen algoritme aan om uit te rekenen of A voor B komt of in welke mateA voor B komt.

Zoals werd opgemerkt in [14] zijn RTI’s eigenlijk imperfecte versies van STI’s en zijn weeigenlijk geınteresseerd in de relaties tussen de STI waar de RTI’s model voor staan. In hun

1http://www.vicodi.org

Page 33: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 22

Relatie Definitie

before b(A,B) ≡ a+ < b−

overlaps o(A,B) ≡ a− < b− ∧ b− < a+ ∧ a+ < b+

during d(A,B) ≡ a− > b− ∧ a+ < b+

meets m(A,B) ≡ a+ = b−

starts s(A,B) ≡ a− = b− ∧ a+ < b+

finishes f(A,B) ≡ a+ = b+ ∧ b− < a−

equals e(A,B) ≡ a− = b− ∧ a+ = b+

after bi(A,B) ≡ b(B,A)overlapped by oi(A,B) ≡ o(B,A)contains di(A,B) ≡ d(B,A)met-by mi(A,B) ≡ m(B,A)started-by si(A,B) ≡ s(B,A)finished-by fi(A,B) ≡ f(B,A)

bef bef(A,B) ≡ a+ ≤ b−dur dur(A,B) ≡ a− ≥ b− ∧ a+ ≤ b+intersects i(A,B) ≡ a+ > b− ∧ a− < b+

aft con(A,B) ≡ bef(B,A)con con(A,B) ≡ dur(B,A)

Tabel 3.1: De Allen relaties uitgebreid met enkele samengestelde relaties tussen 2 scherpe tijdsinter-vallen A = [a−, a+] en B = [b−, b+].

werk bekijken Qiang et al. de relaties tussen RTI’s via het driehoeksmodel. In dit modelwordt elk scherp tijdsinterval voorgesteld als een driehoek. Een RTI kan in dit model wordelvoorgesteld als een ruit. Daarnaast definieert men een aantal ruwe relatiezones (RRZ). EenRRZ is een driehoek of ruit die een bepaalde relatie markeert met een RTI. Zo zijn er RRZ’sbefore, overlaps, during maar ook maybe meets, maybe finishes en rough beginning. Hierbijkomen een aantal RRZ’s overeen met de gekende Allen relaties, maar een aantal andere RRZ’skomen overeen met meerdere Allen relaties. Zo stelt de RRZ maybe meets de Allen relatiesmeets, before en overlaps voor. Voor een RTI waarvan B+ 6= ∅, B− 6= ∅enI 6= ∅ worden 15mogelijke RRZ’s gedefinieerd. Naarmate een RTI minder ruw is, verkleint het aantal RRZ’s.Zo heeft een RTI waarvan B− = ∅ slechts 14 RRZ’s.

De relatie tussen een RTI A en een RTI B kan men uitwerken door het snijpunt van A en deRRZ’s van B te berekenen. Zo bekomt men 1 of meerdere RRZ’s waartoe A behoort. Doorde unie te nemen van de relaties die een RRZ voorstelt, bekomt men de relaties die mogelijkgelden tussen 2 RTI’s. Op deze manier komt men tot 80 topologisch relaties tussen 2 RTI’sdie gegroepeerd worden in 21 verzamelingen van relaties.

Page 34: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 23

3.3.4 Vaag Tijdsinterval

Indien we met VTI’s willen werken dan worden de zaken natuurlijk een stuk complexer danbij het bevragen van STI’s. Vooral de laatste jaren lijkt er uitgebreid onderzoek gevoerd tezijn naar dit onderwerp. We hebben in de literatuur drie mogelijke methoden gevonden omVTI’s te bevragen.

Nagypal en Motik

De eersten die een methode publiceerden om VTI’s te bevragen waren [10]. Hun methodevertrekt van het feit dat men aan een interval A = [a−, a+] een aantal hulpintervallen kankoppelen zoals A<− =] − ∞, a−[. De definities van de Allen relaties uit tabel 3.1 kunnenomgezet worden naar operaties op de overeenstemmende hulpintervallen. Zie tabel 3.2 vooreen volledig overzicht.

Operator Definitie

A>−(p) supq<p

A(q)

A≤−(p) 1−A>−(p)A≥−(p) sup

q≤pA(q)

A<−(p) 1−A≥−(p)A<+(p) sup

q>pA(q)

A≥+(p) 1−A<+(p)A≤+(p) sup

q≥pA(q)

A>+(p) 1−A≤+(p)

Tabel 3.2: Hulpoperatoren voor het werken met vage tijdsintervallen bij Nagypal en Motik.

Zo kan de relatie b(A,B) ≡ a+ < b− omgezet worden naar A>+ ∩B<− 6= ∅. Daarna hebbenzij deze operatoren gedefinieerd voor een VTI. Bovenstaande operator A<− hebben zij vooreen VTI gelijk gesteld aan A<−(p) = 1−A≥−(p) waarbij A≥−(p) = sup

q≤pA(q).

De methode die Nagypal en Motik hebben uitgewerkt, is vrij simpel van opzet en werkt goedvoor de meeste zaken. De relaties voor VTI’s zijn volledig compatibel met de Allen relatiesvoor STI’s. Als we dus twee VTI’s A en B vergelijken waarbij KA = SA en KB = SBdan levert dit hetzelfde resultaat op mochten we ze als STI vergelijken. Eveneens zijn deresultaten van de relaties redelijk intuıtief. Indien we helemaal zeker zijn dat de relatie waaris, krijgen we als resultaat een 1. Indien we helemaal zeker zijn dat ze niet waar is, een 0. Inde andere gevallen krijgen we een getal tussen 0 en 1 dat uitdrukt in hoe verre we zeker zijndat de relatie waar is.

Page 35: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 24

Een mogelijk nadeel van de methode is dat ze niet kan gebruikt worden om te redenerenmet VTIs. Om dit te kunnen, zou men bijvoorbeeld verwachten dat equals(A,A) = 1en dat starts(A,A) = finishes(A,A) = during(A,A) = 0. We stellen echter vast datequals(A,A) = starts(A,A) = finishes(A,A) = during(A,A) = 0, 5 [15]. Dit zorgt er dusvoor dat hun methode niet kan gebruikt worden om af te leiden dat als A < B en B < C

daaruit volgt dat A < C. Nagypal en Motik geven dit ook zelf aan in hun artikel maar stellendat dit voor hun toepassingsveld geen probleem is aangezien ze voornamelijk werken met aldan niet onnauwkeurige aanduidingen van echte tijd. Er is dus in de informatie die door hunverwerkt wordt al een inherente rangorde aanwezig.

Relatie Definitie

before(A,B) supp∈R

min(A>+(p), B<−(p))

overlaps(A,B)min(sup

p∈Rmin(A>−(p), B<−(p)),

supp∈R

min(A<+(p), B>−(p)),

supp∈R

min(A>+(p), B<+(p)))

during(A,B)min(sup

p∈Rmin(A<−(p), B>−(p)),

supp∈R

min(A>+(p), B<+(p)))

meets(A,B)min( inf

p∈Rmax(A≤+(p), B≥−(p)),

infp∈R

max(A≥+(p), B≤−(p)))

starts(A,B)min( inf

p∈Rmax(A≤−(p), B≥−(p)),

infp∈R

max(A≥−(p), B≤−(p)),

supp∈R

min(A>+(p), B<+(p)))

finishes(A,B)min( inf

p∈Rmax(A≤+(p), B≥+(p)),

infp∈R

max(A≥+(p), B≤+(p)),

supp∈R

min(A>−(p), B<−(p)))

equals(A,B)

min( infp∈R

max(A≤+(p), B≥+(p)),

infp∈R

max(A≥+(p), B≤+(p)),

infp∈R

max(A≤−(p), B≥−(p)),

infp∈R

max(A≥−(p), B≤−(p)))

intersects(A,B) supp∈R

min(A(p), B(p))

Tabel 3.3: Temporele relaties op VTI’s bij Nagypal en Motik.

Page 36: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 25

Ohlbach

[12] hanteert een andere methode om te redeneren met VTIs. Hij vertrekt van het uitgangs-punt dat zelfs voor twee VTI’s A en B een relatie zoals before(A,B) deels waar kan zijn.Stel dat A = [1910, 1920] (de jaren ’10 van de 20ste eeuw) en B = [1918, 1940] (het inter-bellum) dan zouden we intuıtief kunnen stellen dat A voor B komt want het grootste stukvan A situeert zich voor B alhoewel wel hier strikt genomen met een overlaps(A,B) reltatiete maken hebben. Ohlbach drukt de mate waarin before(A,B) waar is dan ook uit aan dehand van het stuk van A dat voor B komt. Dit werkt zowel voor STIs als VTIs. Dit zorgter echter wel voor dat de Allen relaties niet meer altijd opgaan. Alhoewel dit soms wenselijkkan zijn, maakt dit opnieuw het temporeel redeneren met VTI’s onmogelijk.

Schockaert

In verschillende publicaties ([17], [15], [18]) legt Schockaert een derde mogelijke methode omde relaties tussen twee VTI’s te berekenen. uit. Voor onze bespreking concentreren wij onsop [18]. Hierin wordt vertrokken van een vage basisrelatie L�(α,β)(a, b) tussen twee tijdspuntena en b waarbij α ∈ R en β ∈ [0,+∞[. Deze relatie drukt de mate uit waarin a lang voor bkomt. Deze relatie is als volgt gedefinieerd:

L�(α,β)(a, b) =

1 als b− a > α+ β

0 als b− a ≤ αb−a−αβ anders

(3.1)

Hier worden α en β gebruikt om het concept ’lang voor’ te bepalen. Als een tijdspunt a meteen graad van zekerheid gelijk aan 1 voor een tijdpunt b wil komen moet de afstand tussen aen b minstens gelijk zijn aan α+ β.

Er wordt ook nog een tweede relatie gebruikt L4(α,β)(a, b) die uitdrukt in hoeverre a voor b

komt of ongeveer gelijktijdig is met b. Deze relatie wordt gedefinieerd als:

L4(α,β)(a, b) =

1 als b− a ≥ −α0 als b− a < −α− βb−a+α+β

β anders

(3.2)

Daarna worden een aantal relatedness-measures besproken die kunnen gebruikt worden omde relatie tussen twee VTI’s te definieren. Uiteindelijk komen we dan voor bijvoorbeeld debefore relatie tot volgende definitie:

b(A,B)(α, β) = infv∈R

I(B(v), infu∈R

I(A(u), L�(α,β)(u, v))) (3.3)

Page 37: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 26

Hier is I de residuele implicator van de Lukasiewicz t-norm T . Deze zijn als volgt gedfinieerd:

T (x, y) = max(0, x+ y − 1) (3.4)

I(x, y) = min(1, 1− x+ y) (3.5)

De methode die Schockaert et al. hebben uitgewerkt, heeft een aantal voordelen op devoorgaande. Zo is e(A,B) hier wel gelijk aan 1 en niet 0.5 zoals bij de methode van Nagypalen Motik. Eveneens is m(A,A) = mi(A,A) = 0. Verder kan ook bewezen worden dat ertussen gelijk welke twee (vage) tijdsintervallen altijd minstens 1 relatie geldig is. Tenslotteheeft Schockaert ook een transitiviteitstabel kunnen opstellen voor relaties waarbij α = 0 enβ = 0.

Onze voornaamste vrees bij deze methode is dat ze erg veel rekenwerk vraagt om tot een op-lossing te komen aangezien alle punten in A en B met elkaar vergeleken worden. Dit erkentSchockaert zelf in [16]. Om hieraan te verhelpen biedt hij een efficientere methode aan omVTI’s te vergelijken die dezelfde resultaten als de uitgbreide methode oplevert. Om dit mo-gelijk te maken worden wel een aantal beperkingen opgelegd aan een VTI. In de besprekingwordt er een methode gepresenteerd die enkel werkt voor trapeziumvormige vaagverzamelin-gen. Deze vaagverzamelingen (zie 3.3) kunnen we noteren aan de hand van vier punten: sa,la, lb en sb en de waarde λ. De vaagverzameling A kunnen we voor elke x in R definieren als:

A(x) =

x−saka−sa als sa < x < la

λ als la ≤ x ≤ lbsb−xsb−kb als lb < x < sb

0 anders

(3.6)

waarbij la = sa+ (ka− sa)λ en lb = sb− (sb− kb)λ. Indien λ = 1 dan is la = ka en lb = kb.We kunnen zodoende dus eenvoudige vaagverzamelingen voorstellen waarbij het mogelijk isdat er voor een bepaald VTI geen enkel element met zekerheid tot het VTI behoort. Wekunnen dus bijvoorbeeld niet werken met een VTI waarvan het vaag begin of vaag einde instappen verloopt. Dit hoeft voor ons onderzoek niet echt een probleem te zijn. We zijn er vanovertuigd dat de meest voorkomende VTI’s net de trapeziumvormige zijn. We menen ookdat het net deze categorie van VTI’s is die voor eindgebruikers het makkelijkst te begrijpenis en te gebruiken in het eigen onderzoek.

Schockaert heeft aangetoond dat voor een trapeziumvormig VTI de mate waarin het beginvan A = [saA, laA, lbA, sbA;λA] voor het begin van B = [saB, laB, lbB, sbB;λB] komt, kangeschreven worden als:

bb�(α,β)(A,B) = max(T (λA, 1− λB),

min(λA, L�(α1,max(β,sLA,s

LB))

(laA, laB)))(3.7)

Page 38: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 27

t

I(t)

0

λ

1

sa ka kb sbla lb

Figuur 3.3: Voorstelling van een trapeziumvormig VTI

waarbij:

α1 = α+ min(0, sLB − β)(1− λB) + max(β, sLB)(1− λA − sLA + λA min(max(β, sLB), sLA) (3.8)

sLA = laA − saB (3.9)

sLB = laB − saB (3.10)

Op dezelfde manier werden de operatoren bb4(α,β)(A,B), ee�(α,β)(A,B), ee4(α,β)(A,B), eb�(α,β)(A,B),

eb4(α,β)(A,B), be�(α,β)(A,B), be4(α,β)(A,B) gedefinieerd die aangeven in welke mate het beginen/of einde van A en B voor elkaar komen of gelijktijdig zijn. Met behulp van deze opera-toren kunnen dan weer de Allen relaties tussen A en B berekend worden. Zo is de beforerelatie gelijk aan eb�(α,β)(A,B). Voor andere Allen relaties kunnen we gebruik maken van eencombinatie van meerdere hulpoperatoren. Deze combinaties kunnen we maken door steedshet minimum van de verschillende hulpoperatoren te nemen. Zo is de meets relatie gelijkaan het minimum van eb4(α,β)(A,B) en be4(α,β)(B,A).

3.4 Keuze van de methode

Zoals reeds aangehaald werken we voor deze scriptie met de problematiek van de slechtgekende geboorte- en sterfdata, maar zouden we graag tot een oplossing komen die op termijnook voor andere zaken bruikbaar is. Daarbij denken we bijvoorbeeld aan archeologische sitesof culturen die van nature over een vage datering beschikken. Mochten we enkel nood hebbenaan een systeem voor de onnauwkeurige biografische data, dan zouden we kunnen volstaanmet het gebruik van een RTI. Het modelleren van een archeologische cultuur die geleidelijk

Page 39: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 3. Onderzoek 28

opkomt, na een tijdje een plafond bereikt en dan weer geleidelijk afneemt, lijkt echter nietmodelleerbaar met een RTI. Want indien we dit proberen dan raken we alle informatie overhet geleidelijke karakter kwijt. Qua flexibiliteit en algemene inzetbaarheid genieten de VTI’sdus de voorkeur.

Natuurlijk moeten we ook vragen kunnen stellen aan de dateringen. Hier valt het op dater meer onderzoek is naar het redeneren met VTI’s dan met RTI’s. Binnen het onderzoeknaar het redeneren met VTI’s lijkt de methode van Schockaert et al. het meest interessantomdat deze een aantal wiskundige eigenschappen bezit die niet aanwezig zijn bij Nagypalen Motik. We vrezen echter dat deze methode te veel rekenkracht vraagt en dus nooit aande performantie-vereiste zal voldoen. Indien we ons echter beperken tot het werken mettrapeziumvormige VTI’s, kunnen we de efficientere methode van Schockaert gebruiken. Alswe niet kunnen werken met trapeziumvormgige VTI’s, lijkt de methode van Nagypal enMotik ons de beste. Alhoewel we met deze methode niet kunnen redeneren, laat ze ons weltoe aan de databank de vragen te stellen die ons interesseren en lijkt de implementatie redelijkeenvoudig te zijn.

Voor de implementatie in de databank en de bijhorende performantie-test, valt onze keuzedus op de methode van Schockaert (normale en efficiente versie) en de methode van Nagypalen Motik.

Page 40: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4

Implementatie

4.1 Algemeen

Voor deze scriptie willen wij ons concentreren op een oplossing die zich zo veel mogelijk binnende databankserver situeert. We willen onze vraag dus rechtstreeks aan de databank kunnenstellen. De applicatielaag kan eventueel voor een beetje pre- of post-processing zorgen maarhet zware werk moet door de databank gedaan worden.

Omwille van de flexibiliteit kiezen we er voor om aan de slag te gaan met VTIs. We imple-menteren VTI’s op een aantal verschillende manieren om de verschillen in performantie tekunnen analyseren. We onderscheiden volgende implementaties:

Nagypal en Motik De methode van Nagypal en Motik uit 3.3.4. Verderop refereren wenaar deze methode met de afkorting NM.

Schockaert 1 De methode van Steven Schockaert uit 3.3.4. We verwijzen steeds naar dezemethode met de afkorting S1.

Schockaert 2 Een performantere versie van S1 uit 3.3.4 die enkel werkt voor trapeziumvor-mige VTI’s. Verderop verwijzen we steeds naar deze methode als S2.

Voor de zowel NM als S1 moeten er een aantal berekeningen met lijnstukken uitgevoerd wor-den. Zo moeten er bijvoorbeeld snijpunten tussen twee VTI’s berekend worden. Het leek onsideaal om geen eigen routines te schrijven om deze berekeningen uit te voeren maar gebruikte maken van bestaande bibliotheken. We hebben ons gewend tot het pakket PostGIS1 datreeds uitvoerig wordt gebruikt binnen onze toepassing voor geografische data. Ons leek eenvisuele voorstelling van een VTI uiteindelijk niet anders te zijn dan polygoon die een aantalextra beperkingen krijgt opgelegd. Zo moet de waarde op de Y-as altijd tussen 0 en 1 liggen.

PostGIS is een uitbreiding op PostgreSQL die in de eerste plaats de OpenGis2 specificatie[1] implementeert. Het is een gewaardeerd open source project dat al lange tijd stabiel is en

1www.postgis.org2www.opengeospatial.org

29

Page 41: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 30

erg veel gebruikt wordt. We kunnen er dus op vertrouwen dat de code in PostGIS robusten performant is. In PostGIS worden polygonen, punten en lijnen maar ook complexeregeometrieen zoals multipunten, multilijnen en multipolygonen opgeslagen als data van hettype geometry. De bibliotheek bevat allerhande functies om geometry objecten te construeren,om ze te transformeren naar andere formaten en om bewerkingen zoals union en intersectionuit te voeren.

Tevens biedt de GIST-index van PostgreSQL ook ondersteuning voor de geometry objecten(punten, polygonen, lijnen en multi versies hiervan) die postGIS aanbiedt. Zo is het mogelijkeen GIST-index te gebruiken bij een intersection operatie. Het spreekt voor zich dat vanzodra we met een iets grotere dataset werken, ondersteuning voor indexering onontbeerlijkzal zijn.

Een leuke extra die het werken met PostGIS ons oplevert, zijn een aantal visualisatiemoge-lijkheden. Er bestaan verschillende software pakketten die in staat zijn om een tabal metgeometry objecten in PostGIS weer te geven. Normaal wordt dit gebruikt voor geografischedatalagen maar in dit geval kunnen we een visuele tijdsbalk maken.

Binnen PostGIS is het normaal de bedoeling dat elke geometry een bijhorende SRID krijgt.Dit is een code die refereert aan een bepaald projectiesysteem. Dit is nodig omdat de aardegeen plat vlak is en elke voorstelling van ruimtelijke objecten in een twee dimensionaal vlakper definitie afwijkingen vertoont. Deze SRID is belangrijk omdat ze ons bijvoorbeeld instaat stelt om een bepaalde geometry te vertalen naar een andere projectie (bv. van hetLAMBERT72 systeem dat gangbaar is in Belgie naar het WGS84 systeem dat door GoogleMaps en Google Earth gebruikt wordt). Aangezien we in dit geval niet werken in een bepaaldeprojectie gebruiken we de waarde -1 om aan te geven dat onze geometry objecten onder geenenkele SRID vallen.

4.2 Programmeren in PostgreSQL

PostgreSQL biedt een wijde waaier aan programmeertalen om functies in de databank meete implementeren. Zo zijn er implementaties bekend voor Perl, PHP, Python, Java en zelfsshell scripts. Deze moeten wel steeds extra worden toegevoegd aan de databank. We kiezener voor om het aantal extra te installeren componenten te beperken. Daarom schrijven wealle functies in ofwel SQL ofwel PL/pgSQL. PL/pgSQL is een op SQL gebaseerde procedureletaal. Voor meer informatie over SQL en PL/pgSQL functies verwijzen we naar de uitgebreidePostgreSQL handleiding[19].

Zoals reeds aangehaald maken we uitgebreid gebruik van PostGIS om een aantal berekeningenvoor ons toe doen. De functies die rechtstreeks uit PostGIS komen, kunnen herkend wordenaan het prefix ST. Meer informatie over deze functies kan gevonden worden in de PostGIShandleiding[13].

Page 42: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 31

De procedures die we gebruikt hebben werden allemaal geschreven met de zogenaamde dollargequoteerde syntax waarbij het lichaam van de functie tussen dubbele dollartekens geplaatstwordt om te voorkomen dat er overbodig veel tekens moeten voorzien worden van het escape-teken. Bijna alle functies die we gebruiken dragen het sleutelwoord IMMUTABLE in hundeclaratie. Dit geeft aan de PostgreSQL query-parser aan dat het resultaat van het aanroepenvan een bepaalde functie met dezelfde argumenten steeds hetzelfde zal zijn. Dit stelt deparser in staat het resultaat van een functie tussentijds op te slaan, wat voor een sterkeperformantiewinst kan zorgen.

4.3 Gemeenschappelijke functies

Het aantal functies dat volledig gemeenschappelijk is, is eerder klein. We onderscheiden tweefuncties die dienen om een aantal constanten te modelleren en een functie die we gebruikenom van een bepaalde datum een waarde op de X-as te maken.

In wezen is de tijdslijn oneindig maar de as waarop we de tijd voorstellen is eindig. Ze wordtbeperkt in de tijd door de waarden van FD oudste en FD jongste. In dit geval hebben we deoudste datum die we kunnen voorstellen, gezet op 1.000.000 jaar voor Christus. Aangeziende oudst gekend site in Vlaanderen dateert van 300.000 voor Christus, geeft dit ons eenaanzienlijke marge. De verste datum in de toekomst die we kunnen voorstellen hebben weingesteld op 100.000 na Christus.

Listing 4.1: Constanten

CREATE OR REPLACE FUNCTION FD oudste ( ) RETURNS float AS $$

SELECT −1000000.0 : : f loat ;$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD jongste ( ) RETURNS float AS $$

SELECT 1 0 0 0 0 0 . 0 : : f loat ;$$ LANGUAGE s q l IMMUTABLE;

We plaatsen binnen ons GIS-systeem de tijdsaanduiding op de X-as. We hebben dan ookeen functie nodig om voor een bepaalde datum een plaats op deze as te bepalen. We hebbenhierbij getracht tot een X-waarde te komen die nog deels menselijk leesbaar is. We doen ditdoor voor elk jaartaal een geheel getal op de X-as aan te maken. Het interval tussen 2 gehelegetallen verdelen we in 365 of 366 stukken naargelang het aantal dagen in een bepaald jaar.De eerste dag van een bepaald jaar wordt steeds gelijk gesteld met het geheel getal. Zo zal01/01/2010 op de X-as terug te vinden zijn als 2010.

Indien we te maken hebben met een datum voor Christus, dan schuiven we deze een jaar opnaar de toekomst. Dit doen we omdat het jaar 0 nooit bestaan heeft. Mochten we 01/01/-01voorstellen als -1 en 01/01/01 als 1 dan zou in onze voorstelling twee jaar zitten tussen deze

Page 43: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 32

datums. Dit is echter niet correct aangezien het jaar 0 niet bestaat. We stellen 01/01/-01dus voor als 0.

Listing 4.2: FD maakX()

CREATE OR REPLACE FUNCTION FD maakX(datum date ) RETURNS float AS $$

DECLAREj a a r int ;l a a t s t e d a g j a a r date ;a a n t a l d a g e n i n j a a r int ;

BEGINj a a r := EXTRACT ( year FROM $1 ) ;IF j a a r < 0 THEN

l a a t s t e d a g j a a r = ( lpad ( abs ( j a a r ) : : text , 4 , ’0’ ) | | ’-12-31 BC’ ) : : date;

j a a r := j a a r + 1 ;ELSE

l a a t s t e d a g j a a r = ( lpad ( abs ( j a a r ) : : text , 4 , ’0’ ) | | ’-12-31 AD’ ) : : date;

END IF ;a a n t a l d a g e n i n j a a r := EXTRACT( doy FROM ( l a a t s t e d a g j a a r ) ) ;

RETURN j a a r + ( (EXTRACT( doy FROM $1 ) −1) / a a n t a l d a g e n i n j a a r ) ;END$$ LANGUAGE p l p g sq l IMMUTABLE;

Een VTI stellen we voor als een geometry object uit PostGIS. We kiezen er voor om gebruikte maken van een LINESTRING object. Dit kan een lijn voorstellen die bestaat uit twee ofmeerdere punten. Een LINESTRING hoeft niet gesloten te zijn, het eindpunt mag dus eenander punt zijn dan het beginpunt. Om een VTI voor te stellen gebruiken we vier punten.Deze gebruiken we om SeI en KeI voor te stellen. Enerzijds hebben we twee punten nodig dieSeI voorstellen. Deze duiden we aan met sa en sb waarbij sa ≤ sb. Anderzijds hebben wetwee punten nodig die KeI voorstellen. Deze duiden we aan met ka en kb. Ook hier geldt datka ≤ kb.

We maken gebruik van een functie FD maakVoorstelling die op basis van een aantal datumseen VTI samenstelt als een PostGIS geometry. We doen dit door voor elke datum de waardeop de X-as te berekenen en de waarde 0 of 1 aan de Y-as toe te kennen. Indien de datum totSeI behoort, krijgt ze de waarde 0. Indien de datum tot KeI behoort krijgt ze de waarde 1.

Aangezien PostgreSQL polymorfe functies ondersteunt hebben we een aantal varianten ge-maakt die een voorstelling maken waarvoor minder dan vier datums vereist zijn. Zodoendekan bijvoorbeeld ook een STI gemodelleerd worden als een VTI. We hebben ook een functiegemaakt die een enkelvoudige datum modelleert als een VTI. Dit komt van pas bij het stellenvan vragen zoals: geef me alle personen die leefden voor 21 juli 1830.

Page 44: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 33

Listing 4.3: FD maakVoorstelling()

CREATE OR REPLACE FUNCTION FD maakVoorstel l ing (sa date , ka date , kb date , sb date ) RETURNS geometry AS $$

SELECT ST MakeLine (ARRAY[ST MakePoint (FD maakX( $1 ) ,0 ) ,

ST MakePoint (FD maakX( $2 ) ,1 ) ,ST MakePoint (FD maakX( $3 ) ,1 ) ,ST MakePoint (FD maakX( $4 ) ,0 ) ] ) ;

$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD maakVoorstel l ing (ka date , kb date ) RETURNS geometry AS $$

SELECT FD maakVoorstel l ing ( $1 , $1 , $2 , $2 ) ;$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD maakVoorstel l ing (d date ) RETURNS geometry AS $$

SELECT FD maakVoorstel l ing ( $1 , $1 , $1 , $1 ) ;$$ LANGUAGE s q l IMMUTABLE;

Om het testen gemakkelijker te maken, hebben we ook nog een aantal functies gemaakt die opbasis van enkele parameters een VTI konden samenstellen. We maken hiervoor gebruik van 1of 2 datums om KeI te modelleren en van een PostgreSQL datum interval om V BeI en V EeI temodelleren. Een functieaanroep zou kunnen zijn FD vervaag(now()::date,’1 year’::interval).Dit zou een VTI opleveren waarvan KeI gelijk is aan vandaag en SeI gelijk is aan de dagentussen een jaar geleden en een jaar in de toekomst.

Listing 4.4: FD vervaag()

CREATE OR REPLACE FUNCTION FD vervaag (ka date , kb date , l v interval , rv interval ) RETURNS geometry AS $$

SELECT FD maakVoorstel l ing ( ( $1 − $3 ) : : date , $1 , $2 , ( $2 + $4 ) : : date ) ;$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD vervaag (ka date , kb date , v interval ) RETURNS geometry AS $$

SELECT FD vervaag ( $1 , $2 , $3 , $3 ) ;$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD vervaag (d date , v interval ) RETURNS geometry AS $$

SELECT FD vervaag ( $1 , $1 , $2 , $2 ) ;$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD vervaag (d date , l v interval , rv interval ) RETURNS geometry AS $$

SELECT FD vervaag ( $1 , $1 , $2 , $3 ) ;

Page 45: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 34

$$ LANGUAGE s q l IMMUTABLE;

We beschikken nu over een gemeenschappelijke codebasis die kan gebruikt worden om eenVTI voor te stellen, los van de methode die we kiezen om ze te bevragen. Hierna zullen wede drie methodes uitwerken om relaties tussen VTI’s te bepalen. We doen dit telkens aande hand van dezelfde relatie, de before relatie. De andere relaties worden steeds analoogberekend. In de bijlage kan de volledige code gevonden worden voor de methodes NM enS2. De methode S1 blijkt niet performant te zijn. Hiervan werd enkel de before methodeuitgewerkt.

4.4 Implementatie van Nagypal en Motik

Om te kunnen redeneren met de methode van NM zijn er een aantal belangrijke hulpbe-werkingen die we moeten kunnen uitvoeren. We moeten van een bepaald VTI de negatieveen de positieve extensie kunnen bereken. Voor de negatieve extensie komt dit neer op hetVTI waarbij het vaag begin wordt vervangen door het verder lopen van de kernverzamelingnaar −∞ toe. Voor de positieve extensie is dit het VTI waarbij de kernverzameling wordtdoorgetrokken naar +∞. Om deze methodes te implementeren, maken we een nieuw lijnstukdat de uiterste punten (FD oudste() en FD jongste()) telkens omzet naar hun respectieve-lijke lijnstukken (FD oudste(),0),(FD oudste,1) en (FD oudste(),0),(FD oudste,1). Daarnawordt de convexe omtrek van zo een lijnstuk en ons VTI berekend. Belangrijk hierbij is datde functie ST ConvexHull geen LINESTRING maar een POLYGON oplevert.

Listing 4.5: FD extendNegative() en FD extendPositive()

CREATE OR REPLACE FUNCTION FD NM extendNegative ( g geometry ) RETURNSgeometry AS $$

SELECT ST ConvexHull ( ST Col lect (ST MakeLine (

ST MakePoint ( FD oudste ( ) , 0 ) , ST MakePoint ( FD oudste ( ) , 1 ) ) ,$1 ) ) ;

$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD NM extendPositive ( g geometry ) RETURNSgeometry AS $$

SELECT ST ConvexHull ( ST Col lect (ST MakeLine (

ST MakePoint ( FD jongste ( ) , 0 ) , ST MakePoint ( FD jongste ( ) , 1 )) ,

$1 ) ) ;$$ LANGUAGE s q l IMMUTABLE;

Met bovenstaande methodes kunnen we van een VTI al een aantal hulpoperatoren uit tabel3.2 voorstellen. Er zijn echter ook een aantal hulpoperatoren waarvoor we het complement

Page 46: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 35

van de bovenstaande functies moeten berekenen. Dit kunnen we bereiken door het verschilte nemen van een rechthoek die de tijdsbalk genoemed wordt en de LINESTRING die hetresultaat is van bovenstaande functie. Deze tijdsbalk is onze tijdslijn die loopt van -1.000.000tot 100.000 op de X-as en van 0 tot 1 op de Y-as. Wannneer we dit verschil berekend hebben,hoeven we enkel nog de punten waaruit dit verschil bestaat te transformeren. Van elk puntblijft de waarde op de X-as behouden, maar wordt van de waarde op de Y-as het complementberekend.

Listing 4.6: FD NM complement()

CREATE OR REPLACE FUNCTION FD NM maakTijdsbalk ( )RETURNS box2d AS $$

SELECT ST MakeBox2D( ST MakePoint ( FD oudste ( ) , 0) ,ST MakePoint ( FD jongste ( ) , 1) ) ;

$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD NM complement (g geometry ) RETURNS geometry AS $$

SELECT ST MakePolygon ( ST MakeLine ( punt ) ) FROM (SELECT ST Point (x , comp) AS punt FROM (

SELECTST X( ST PointN ( column1 , g e n e r a t e s e r i e s (1 , ST NPoints ( column1 ) ) ) )

AS x ,1 − ST Y( ST PointN ( column1 , g e n e r a t e s e r i e s (1 , ST NPoints ( column1 ) ) )

) AS compFROM (VALUES( ST Boundary ( ST Di f f e r ence ( FD NM maakTijdsbalk ( ) , $1 ) ) ) )

AS s p l i t) AS punten

) AS l i j n ;$$ LANGUAGE s q l IMMUTABLE;

Als we nu de definitie uit tabel 3.3 voor de before relatie overzetten dan komen we uitbij de functie FD NM allen before. In figuur 4.1 tonen we hoe deze methode werkt. Eerstnemen we van de twee argumenten g1 en g2 de extensie naar −∞ of +∞. Daarna berekenenwe telkens het complement van de bekomen lijn. Vervolgens passen we de PostGIS functieST Intersection toe. Deze functie berekent de doorsnede van twee polygonen. Dit is dus deverzameling van punten die in beide polygonen voorkomen. Indien deze doorsnede leeg is,dan snijden de getransformeerde polygonen elkaar niet en komt het eerste VTI niet voor hettweede. Indien de polygonen elkaar wel snijden dan is de mate waarin g1 voor g2 komt gelijkaan de maximale Y-waarde van de doorsnede.

Om de performantie van onze functies te verhogen, hebben we ook telkens geprobeerd omeen aantal punten in te bouwen waar we de functie vroegtijdig kunnen verlaten. Zo wetenwe zeker dat g1 voor g2 komt indien het eindpunt van de steunverzameling van g1 voor hetbeginpunt van de steunverzameling van g2 komt. Eveneens zijn we zeker dat g1 niet voor g2komt indien het beginpunt van g1 na het eindpunt van g2 komt. Deze kleine berekeningen

Page 47: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 36

g1 en g2

extensie

complement

doorsnede

g1 en g2

extensie

complement

doorsnede

Figuur 4.1: De Allen before relatie via NM. Illustratie van zeker voor en misschien voor.

sparen ons vaak heel wat rekentijd uit. Op die manier hoeven we de extensies, complementenen doorsnede van de VTI’s niet te gaan berekenen.

Listing 4.7: FD NM allen before()

CREATE OR REPLACE FUNCTION FD NM allen before ( g1 geometry , g2 geometry )RETURNS float AS $$

DECLAREtmp geometry ;

BEGINIF ST XMax( g1 ) < ST XMin( g2 ) THEN

RETURN 1 ;END IF ;IF ST XMin( g1 ) > ST XMax( g2 ) THEN

RETURN 0 ;END IF ;tmp := ST In t e r s e c t i on (

FD NM complement ( FD NM extendNegative ( g1 ) ) ,FD NM complement ( FD NM extendPositive ( g2 ) ) ) ;

IF ST IsEmpty (tmp) THENRETURN 0 ;

ELSERETURN ST YMAX(tmp) ;

END IF ;END;$$ LANGUAGE p l p g sq l IMMUTABLE;

Voor sommige van de Allen relaties moeten we het minimum op de Y-as van de unie vantwee polygonen berekenen. Hiervoor kunnen we geen gebruik maken van de PostGIS functieST YMin aangezien deze voor een polygoon altijd de waarde 0 zal opleveren. Daarom hebbenwe een op maat gemaakt functie hiervoor geschreven. In deze functie determineren we dekleinste waarde op de Y-as die groter is dan 0. In het geval dat de geometry die aan dezefunctie wordt doorgegeven een MULTIPOLYGON is, dan is de waarde van Y 0. Dit kanvoorvallen wanneer we de unie maken van twee polygonen die elkaar niet raken.

Listing 4.8: FD NM YMin()

Page 48: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 37

CREATE OR REPLACE FUNCTION FD NM YMin(g geometry ) RETURNS float AS $$

DECLAREy f loat := 1 ;yTmp f loat ;tmp geometry ;

BEGINIF ST GeometryType ( g ) = ’ST_MultiPolygon’ THEN

RETURN 0 ;END IF ;tmp := ST Boundary ( g ) ;FOR p IN 1 . . ST NPoints (tmp) LOOP

yTmp := ST Y( ST PointN (tmp , p) ) ;IF yTmp > 0 AND y > yTmp THEN

y = yTmp : : f loat ;END IF ;

END LOOP;RETURN y ;

END;$$ LANGUAGE p l p g sq l IMMUTABLE;

De andere Allen relaties kunnen we op een analoge manier bereken. Voor de andere relatiesmoeten we steeds een combinatie maken van meerdere parameters. Deze combinatie wordtsteeds berekend aan de hand van het minimum. Ook hier hebben we steeds een kleine optima-lisatie ingebouwd. Indien de eerste parameter al 0 is, dan stoppen we de berekeningen. Voorde volledige broncode verwijzen we naar de broncode op de cd-rom waar alle Allen relaties ende 5 samengestelde relaties terug te vinden zijn. Om naamsverwarring te voorkomen werdende samengestelde relaties voorzien van een prefix kvd.

4.5 Implementatie van Schockaert

Om de twee methodes van Schockaert te kunnen implementeren, hebben we enkele hulpme-thodes nodig. Ten eerste moeten we de Lukasiewicz t-norm, zijn residuele implicator en det-conorm kunnen berekenen. Dit zijn drie vrij eenvoudige methodes.

Listing 4.9: FD S tw() en FD S iw() en FD S sw()

CREATE OR REPLACE FUNCTION FD S tw ( x f loat , y f loat ) RETURNS float AS $$

SELECT f l o a t 8 l a r g e r (0 , $1 + $2 − 1) ;$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD S iw ( x f loat , y f loat ) RETURNS float AS $$

SELECT f l o a t 8 s m a l l e r (1 , 1 − $1 + $2 ) ;$$ LANGUAGE s q l IMMUTABLE;

Page 49: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 38

CREATE OR REPLACE FUNCTION FD S sw ( x f loat , y f loat ) RETURNS float AS $$

SELECT f l o a t 8 s m a l l e r (1 , $1 + $2 ) ;$$ LANGUAGE s q l IMMUTABLE;

Ten tweede moeten we de hulpmethodes implementeren om te berekenen in welke mate eentijdspunt a lang voor een tijdspunt b komt (zie vergelijking 3.1) en om te berekenen in welkmate a gelijktijdig is met b (zie vergelijking 3.2) implementeren. Deze methodes aanvaardensteeds een parameter alpha en een parameter beta die ons toestaat de definitie van ’lang voor’en ’gelijktijdig aan’ aan te passen. Ook dit zijn weer vrij eenvoudige methodes. Merk op datwe bij de implementatie van FD S beq() simpelweg het complement van FD S lb() gebruikenin plaats van de berekening uit vergelijking 3.2 alhoewel deze identiek zijn.

Listing 4.10: FD S lb() en FD S beq()

CREATE OR REPLACE FUNCTION FD S lb (a f loat , b f loat , a lpha f loat , beta f loat ) RETURNS float AS $$

BEGINIF (b − a ) > ( alpha + beta ) THEN

RETURN 1 ;ELSIF (b − a ) <= alpha THEN

RETURN 0 ;ELSE

RETURN (b − a − alpha ) / beta ;END IF ;

END;$$ LANGUAGE p l p g sq l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD S beq (a f loat , b f loat , a lpha f loat , beta f loat ) RETURNS float AS $$

BEGINRETURN 1 − FD S lb (b , a , alpha , beta ) ;

END;$$ LANGUAGE p l p g sq l IMMUTABLE;

4.5.1 Implementatie van Schockaert 1

Voor de implementatie van de methode van Schockaert moeten we alle punten in VTI Avergelijken met alle punten in B. Om dit mogelijk te maken hebben we een hulpmethodeFD S1 verpunt geschreven die een geometry object omzet in een discrete verzameling vanpunten. In deze methode herleiden we het VTI tot de vertexen waaruit de LINESTRINGbestaat en een aantal punten op de tussenliggende lijnstukken. Het aantal punten hebben weexperimenteel vastgesteld op 100 punten per lijnstuk.

Listing 4.11: FD S1 verpunt()

CREATE OR REPLACE FUNCTION FD S1 verpunt (

Page 50: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 39

g geometry ) RETURNS SETOF geometry AS $$

SELECT ST PointN ( $1 , g e n e r a t e s e r i e s (1 , ST NPoints ( $1 ) ) )UNIONSELECT ST Line In t e rpo l a t e Po in t ( ST MakeLine ( sp , ep ) , 0 . 01 *

g e n e r a t e s e r i e s (1 ,100) ) FROM (SELECT ST PointN ( $1 , g e n e r a t e s e r i e s (1 , ST NPoints ( $1 )−1) ) AS sp ,

ST PointN ( $1 , g e n e r a t e s e r i e s (2 , ST NPoints ( $1 ) ) ) AS ep) AS l i j n p u n t e n

WHERE ST Y( sp ) <> ST Y( ep ) ;$$ LANGUAGE s q l IMMUTABLE;

Met behulp van deze methode is het vrij eenvoudig om de eerste methode van Schockaert omte zetten naar PL/pgsql. Als voorbeeld behandelen we hier opnieuw de Allen before relatie.Hiervoor gebruiken we twee lussen. In de eerste lus itereren we over de punten van het tweedeVTI en vergelijken we elk punt p van g2 met alle punten van g1. Op het einde van de lusberekenen we het minimum van de vergelijkingen tussen p en de punten uit g1. Eens wealle punten uit g2 vergeleken hebben met alle punten van g1 nemen we terug het minimumvan deze vergelijkingen. Het is duidelijk dat dit geen performante manier van werken is endat veel afhangt van het aantal punten dat in de methode FD S verpunt() wordt gebruikt.Indien we veel punten gebruiken, krijgen we een goed resultaat maar kost de berekening ergveel rekenkracht. Indien we minder punten gebruiken, hebben we minder rekenkracht nodigmaar is het resultaat niet nauwkeurig genoeg.

Listing 4.12: FD S1 allen before()

CREATE OR REPLACE FUNCTION FD S1 a l l en be f o r e (g1 geometry , g2 geometry , a f loat , b f loat ) RETURNS float AS $$

DECLAREp geometry ;p2 geometry ;tmp f loat [ ] ;tmpI f loat [ ] ;i n f f loat ;i n f 2 f loat ;

BEGINFOR p IN SELECT * FROM FD S1 verpunt ( g2 ) LOOP

tmpI := ’{}’ : : f loat [ ] ;FOR p2 IN SELECT * FROM FD S1 verpunt ( g1 ) LOOP

i n f 2 := FD S iw (ST Y( p2 ) , FD S lb (ST X( p2 ) ,ST X(p) , a , b ) ) ;SELECT array append ( tmpI , i n f 2 ) INTO tmpI ;

END LOOP;SELECT INTO i n f MIN(unnest ) FROM UNNEST( tmpI ) ;SELECT array append (tmp , FD S iw (ST Y(p) , i n f ) ) INTO tmp ;

END LOOP;SELECT INTO i n f MIN(unnest ) FROM UNNEST(tmp) ;RETURN i n f ;

Page 51: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 40

END;$$ LANGUAGE p l p g sq l IMMUTABLE;

4.5.2 Implemenatie van Schockaert 2

Tenslotte hebben we ook de methode van Schockaert geımplementeerd die enkel werkt voorde trapeziumvormige VTI’s. Hier bespreken we enkel de implementatie van de Allen relatiebefore. Ook hier kunnen de andere relaties op een gelijkaardige manier berekend worden.

Zoals besproken in 3.3.4 hebben we voor deze methode een aantal hulpoperatoren nodig die derelaties uitdrukken tussen de begin- en eindpunten van de VTI’s waarvan we de Allen relatieberekenen. Voor de before relatie is dit de operator eb�(α,β)(A,B). Deze drukt de mate uitwaarin het einde van A voor het begin van B komt. Om deze en de andere hulpoperatorente kunnen implementeren, gebruiken we nog twee kleine functies FD S2 sl() en FD S2 sr()die de lengte van respectievelijk het vaag begin en het vaag einde van een VTI berekenen.

Listing 4.13: FD S2 sl() en FD S2 sr()

CREATE OR REPLACE FUNCTION FD S2 sl ( g geometry ) RETURNS float AS $$

SELECT ST X( ST PointN ( $1 , 2) ) − ST X( ST PointN ( $1 , 1 ) ) ;$$ LANGUAGE s q l IMMUTABLE;

CREATE OR REPLACE FUNCTION FD S2 sr ( g geometry ) RETURNS float AS $$

SELECT ST X( ST PointN ( $1 , 4) ) − ST X( ST PointN ( $1 , 3 ) ) ;$$ LANGUAGE s q l IMMUTABLE;

De implementatie van eb�(α,β)(A,B) is vrij voor de hand liggend. De implemenatie van deAllen before relatie staat gelijk aan het oproepen van deze hulpoperator. We hebben dezefunctie polymorf gemaakt door twee verschillende functie-aanroepen te voorzien. In de enekunnen we parameters alpha en beta meegeven die uitdrukken wat we bedoelen met ’langvoor’ of ’ongeveer gelijktijdig’. In de andere kunnen we dit niet en wordt er uitgegaanvan de standaardwaarden 0 voor deze parameters. In deze versie hebben we ook dezelfdewachtmethoden ingebouwd die we voor NM gebruikt hebben. Ook hier proberen we dus eenaantal overduidelijke combinaties vroegtijdig uit te schakelen.

Voor de andere Allen relaties moeten net zoals bij NM meerdere hulpoperatoren gecombineerdworden met behulp van het minimum. Net zals bij NM hebben we een kleine optimalisatieingebouwd door de berekening af te breken indien een hulpoperator de waarde 0 als resultaatgeeft. Voor de volledige broncode verwijzen we naar de cd-rom met broncode waar alleAllen relaties en de 5 samengestelde relaties terug te vinden zijn. Om naamsverwarring tevoorkomen werden de samengestelde relaties voorzien van een prefix kvd.

Listing 4.14: FD S2 before eb()

CREATE OR REPLACE FUNCTION FD S2 before eb (

Page 52: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 4. Implementatie 41

g1 geometry , g2 geometry , alpha f loat , beta f loat ) RETURNS float AS $$

DECLAREi f loat ;j f loat ;a lpha5 f loat ;

BEGINi := FD S sw (1 − ST YMax( g1 ) ,1 − ST YMax( g2 ) ) ;alpha5 := alpha

+ ( f l o a t 8 s m a l l e r (0 , FD S2 sl ( g2 ) − beta ) * ( 1 − ST YMax( g2 ) ) )+ ( f l o a t 8 s m a l l e r ( f l o a t 8 l a r g e r ( beta , FD S2 sl ( g2 ) ) , FD S2 sr ( g1 ) )

)− ( ST YMax( g2 ) * f l o a t 8 l a r g e r ( beta , FD S2 sl ( g2 ) ) )− ( FD S2 sr ( g1 ) * ST YMax( g1 ) )+ ( f l o a t 8 l a r g e r ( beta , f l o a t 8 l a r g e r ( FD S2 sl ( g2 ) , FD S2 sr ( g1 ) ) )

* FD S tw (ST YMax( g1 ) ,ST YMax( g2 ) ) ) ;

j := FD S lb ( ST X( ST PointN ( g1 , 3 ) ) ,ST X( ST PointN ( g2 , 2 ) ) ,alpha5 ,f l o a t 8 l a r g e r ( beta , f l o a t 8 l a r g e r ( FD S2 sr ( g1 ) , FD S2 sl ( g2 ) ) )) ;

RETURN f l o a t 8 l a r g e r ( i , j ) ;END;$$ LANGUAGE p l p g sq l IMMUTABLE;

Listing 4.15: FD S2 allen before

CREATE OR REPLACE FUNCTION FD S2 a l l en be f o r e (g1 geometry , g2 geometry , alpha f loat , beta f loat ) RETURNS float AS $$

BEGINRETURN FD S2 before eb ( g1 , g2 , alpha , beta ) ;

END;$$ LANGUAGE p l p g sq l IMMUTABLE;CREATE OR REPLACE FUNCTION FD S2 a l l en be f o r e (g1 geometry , g2 geometry ) RETURNS float AS $$

BEGINIF ST XMax( g1 ) < ST XMin( g2 ) THEN

RETURN 1 ;END IF ;IF ST XMin( g1 ) > ST XMax( g2 ) THEN

RETURN 0 ;END IF ;RETURN FD S2 before eb ( g1 , g2 , 0 , 0) ;

END;$$ LANGUAGE p l p g sq l IMMUTABLE;

Page 53: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 5

Testresultaten

5.1 Aanmaak van testdata

Om de voor- en nadelen van de verschillende methodes te kunnen vergelijken, hebben weop basis van de bestaande databank een set van testdata aangelegd. Hiervoor hebben weeen tabel (5.1) gemaakt die de velden id, naam, voornaam, geboortedatum, sterfdatum envti bevat. De velden geboortedatum en sterfdatum bevatten de datum zoals die nu in hetsysteem zit. In het veld vti werd de voorstelling van de levensloop van de persoon als eenVTI opgeslagen.

Veld Type

id integernaam varcharvoornaam varchargeboortedatum datesterfdatum datevti geometry

Tabel 5.1: Structuur van de tabel met testdata.

Om de tabel met testdata te vullen, werd er een export uit de huidige databank gemaaktin csv formaat. Hiervoor werden alle personen geselecteerd waar ofwel een sterf- ofwel eengeboortedatum aanwezig was. Dit leverde een dataset van 716 personen op. Deze datawerd dan door een php script ingelezen. In dit script werden de verschillende datumveldengecontroleerd en werd het VTI opgesteld. Indien de geboorte- of sterfdatum gelijk was aande eerste dag van het jaar werd deze beschouwd als zijnde een willekeurige datum in dat jaar.Indien deze datum op de eerste dag van de maand viel werd deze beschouwd als zijnde eenwillekeurige datum in die maand. We zijn er ons van bewust dat we op die manier enkele valsepositieven aangemaakt hebben maar voor een set van testdata lijkt dit ons geen bezwaar.

Op dit punt kwam ook het probleem van de onvolledige informatie naar boven. Hoe gaan

42

Page 54: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 5. Testresultaten 43

we om met een persoon waarvan we wel de sterfdatum maar niet de geboortedatum kennenof omgekeerd? We hebben er voor gekozen om de maximale levensduur van een persoonin te stellen op 100 jaar. Van deze 100 jaar hebben we telkens 20 jaar toegewezen aan dekernverzameling en 80 jaar de steunverzameling. We gaan er dus van uit dat een persoonna zijn geboorte nog zeker 20 en mogelijk 100 jaar leeft en dat een persoon zeker 20 jaaren mogelijk 100 jaar oud geworden is. Deze veronderstellingen kunnen we maken aangezienonze databank historische personen bevat die een rol hebben gespeeld bij de bouw van eengebouw. We mogen er van uit gaan dat iemand toch zeker 20 jaar moet geweest zijn om alsarchitect of bouwmeester te kunnen optreden.

Neem bijvoorbeeld Adam Gheerijs. Wij weten dat hij geboren werd ca. 1320-1325 en stierf op10/12/1394. De informatie over zijn geboortedatum zit echter niet in het veld geboortedatummaar staat in de tekstuele biografie. Voor onze testdata werd hij dus behandeld als eenpersoon zonder geboortedatum. Het geconstrueerde VTI (zie 5.1 kent dus een vaag begindat start op 10/12/1294 en loopt tot 10/12/1374. De kerverzameling loopt van 10/12/1374tot 10/12/1394. Aangezien we hier over een exacte sterfdatum beschikken is er geen vaageinde. Onze testdata is dus vager dan de informatie waarover we beschikken. In een productieomgeving zou de eindgebruiker via een interface zelf in staat moeten zijn om aan te gevendat het vaag begin tussen 1320 en 1325 te situeren valt.

10/12/1294 10/12/1374 10/12/1394

Figuur 5.1: De levensloop van Adam Gheerijs in de testdata.

5.2 Methodologie

Om de testen uit te voeren, hebben we gebruik gemaakt van een php script. In dit scriptkonden we elk van de 18 relaties testen op de verzameling testdata. Aangezien er voor S1geen volledige implementatie is, werd voor de methode enkel de Allen before relatie getest.

Elke relatie werd getest met 8 verschillende VTI’s (zie 5.2). Eerst werd er getest met 4 datumsdie overeenkomen met de eerste dag van een bepaalde eeuw. Daarna werd er ook getest metvier VTI’s waarvan de steunverzamelingen overeenkwamen met diezelfde eeuwen. Voor elkvan deze VTI’s werd de kernverzameling gelijk gesteld aan het tweede en derde kwart vande eeuw. Op deze manier verkrijgen we een mooie mix aan testdata die zowel afzonderlijke,exacte, datums bevat als vage tijdsperiodes. De spreiding in de tijd werd zo gekozen dat wedatums of periodes hebben die gegarandeerd veel of weinig resultaten opleveren. Zo zijn ergeen personen in de testset die nog moeten geboren worden en zal de Allen before relatie

Page 55: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 5. Testresultaten 44

met de 22ste eeuw altijd de volledige verzameling testdata als resultaat opleveren. De Allenafter relatie zal hier dan weer nooit een resultaat opleveren.

VTI sa ka kb sb

01/01/1000 01/01/1000 01/01/1000 01/01/1000 01/01/100001/01/1700 01/01/1700 01/01/1700 01/01/1700 01/01/170001/01/1900 01/01/1900 01/01/1900 01/01/1900 01/01/190001/01/2100 01/01/2100 01/01/2100 01/01/2100 01/01/2100

11de eeuw 01/01/1001 31/12/1025 31/12/1075 31/12/110018de eeuw 01/01/1701 31/12/1725 31/12/1775 31/12/180020ste eeuw 01/01/1901 31/12/1925 31/12/1975 31/12/200022ste eeuw 01/01/2101 31/12/2125 31/12/2175 31/12/2200

Tabel 5.2: Overzicht van de testperiodes.

In het script kon met een parameter aangegeven worden hoe vaak de zoekopdrachten moestenuitgevoerd. Daarna werd de gemiddelde uitvoeringstijd bekeken over deze zoekopdrachtenheen. Dit zorgt er voor dat uitschieters de testresultaten niet al te sterk beınvloeden. Ditvoorkomt dat de rol van bijvoorbeeld het netwerk of caching doorslaggevend wordt.

De parameters α en β die bij S1 en S2 kunnen ingesteld worden, werden steeds op 0 gezetaangezien NM deze functionaliteit niet kent. Ook zijn de wachtmethodes die we bij NMgeımplementeerd hebben bij S1 en S2 enkel geımplementeerd voor de functies waarin we αen β gelijkstellen aan 0.

Alle testen werden uitgevoerd met een grenswaarde van 0. Alle relaties waarvan het resultaatgroter was dan 0 werden beschouwd als zijnde waar. Alle relaties waarbij het resultaat gelijkwas aan 0 werden beschouwd als zijnde onwaar.

De uitvoering van het script start vanaf een desktop computer (Intel Core 2 Duo, UbuntuLinux). Deze maakt een verbinding met de databank (Postgresql 8.4) die op een server(Sparc, Sun Solaris) staat. Om te kunnen connecteren met de databank, moet de clientzich op hetzelfde netwerk bevinden als de databank. Alle tests werden daarom uitgevoerdover een VPN-verbinding. De communicatie tussen client en server is hier dus iets trager.Hiermee moet rekening gehouden worden bij de interpretatie van de absolute testresultaten.Aangezien de tests binnen een korte tijdspanne werden uitgevoerd, kunnen de tijden welonderling vergeleken worden.

5.3 Vergelijking tussen de drie methodes

Om te beginnen werd er een eerste vergelijking uitgevoerd tussen de drie methoden omeen algemeen idee van de performantie en de resultaten te krijgen. Hiervoor werden de

Page 56: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 5. Testresultaten 45

drie implementaties van de Allen-relatie before getest. (zie 5.3). Bij deze test werd elkezoekopdracht slechts 1 keer getest. In tegenstelling tot de andere testen hebben we hier enkelgetest door te vergelijken met individuele datums en niet met de eeuwen.

Uit deze testresultaten kunnen we opmaken dat de drie verschillende methodes telkens hetzelf-de antwoord opleveren. Dit was zeker te verwachten voor de methoden S1 en S2. Blijkbaar isde uitvoering van NM toch ook sterk vergelijkbaar met S1 en S2. De testdata bevat duidelijkerg veel personen uit de 19de en 20ste eeuw. Slechts 132 op 716 personen leefden helemaalvoor de 19de eeuw.

Het tijdsverloop wordt sterk beınvloed door de wachtmethodes die we hebben toegevoegdaan de verschillende methodes. Deze zorgen ervoor dat de achterliggende algoritmes vanNM en S slechts ingezet worden als het echt nodig is. In de query ’personen die leefden voor01/01/1001’ zijn het de wachtmehtodes die er voor zorgen dat de resultaten heel snel berekendkunnen worden en min of meer gelijk zijn over de verschillende methodes. De iets tragereuitvoering van NM is waarschijnlijk eerder te wijten aan caching. De database server hoeftde data uit de tabel maar een keer uit de databank te halen en kan daarna verder werken metde gecachte data. Aangezien de zoekopdrachten hier maar een keer getest worden, profiterenS1 en S2 van de caching terwijl NM dit niet doet.

Zodra de algoritmes zelf een stuk van het werk moeten opknappen, gaat de uitvoeringstijdvan S1 sterk de hoogte in. Er zijn al 10 seconden nodig om de personen die leefden voor01/01/1701 te vinden. Wanneer we de personen die leefden voor 01/01/1901 opvragen, wordthet helemaal dramatisch en zijn er bijna 7 minuten nodig om tot een resultaat te komen. Ditis niet verwonderlijk als we beseffen dat meer dan de helft van onze testpersonen op deze dagin leven was.

Datum NM S1 S2n tijd (sec) n tijd (sec) n tijd (sec)

01/01/1001 0 0,12 0 0,06 0 0,0601/01/1701 7 0,09 7 9,6 7 0,0701/01/1901 132 0,58 132 419,01 132 0,101/01/2101 716 0,06 716 0,07 716 0,06

Tabel 5.3: Vergelijkende testresulaten van de Allen before relatie.

Op basis van deze testresultaten is het duidelijk dat de S1 methode niet performant genoegis om in een rechtstreeks op het internet ontsloten databank gebruikt te worden. Daaromwerden de verdere testen enkel uitgevoerd voor de NM en S2 methodes. Deze bieden namelijkhet meeste kans om performant genoeg te werken op een grote dataset.

Page 57: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 5. Testresultaten 46

5.4 Vergelijking tussen Nagypal en Motik en Schockaert 2

Om het verschil te testen tussen NM en S2 werden alle relaties tien keer berekend en herleidtot het gemiddelde. Dit geeft een beeld dat vrij is van schommelingen (zie appendix A). Detestresultaten werden bekomen vlak nadat de bovenstaande testen werden uitgevoerd. Dedata uit de tabel was dan ook al aanwezig in het geheugen. Daarom zijn bij deze testen deresultaten voor de before relatie bij NM quasi identiek aan die bij S2.

Eerst en vooral valt op dat de uitgevoerde zoekacties zeer gelijkaardige resultaten opleveren.De enige grote afwijkingen doen zich voor bij de Allen relaties finishes en during en hunomgekeerde vormen contains en finished by. Hierbij valt het wel op de beide methodes voorde relatie finishes geen enkele persoon met een zekerheid van 1 selecteren. Bij S2 is de hoogstetoegekende waard 0,6 waar dit bij NM maximaal 0,5 is.

Wanneer we kijken naar de opgemeten tijden, dan valt een gelijkaardig profiel op als bij detest met de drie methoden. Meestal zijn NM en S2 aan elkaar gewaagd, behalve wanneerer een grote hoeveelheid data moet gecontroleerd worden. Zoals aangehaald is dit het gevalvoor 01/01/1901 en voor de daaropvolgende 20ste eeuw. Zoals kan opgemaakt worden uittabel A.16 hebben bijna 600 van de 716 personen in de databank geleefd in de 20ste eeuw. DeNM methode blijkt toch ook onderhevig te zijn aan deze hoeveelheid van data. De invloedis kleiner dan bij S1, maar zoektijden van meer dan een seconde tot zelfs 2 seconden zijnonwerkbaar in een databank die rechtstreeks moet bevraagd worden.

Uit de testresultaten blijk dus zonder enige twijfel dat de S2 methode qua performantie hetbest scoort. Dit algoritme is het minst onderhevig aan schommelingen in de hoeveelheiddata.

Page 58: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 6

Besluit

Met deze masterproef werd een poging ondernomen om tot een betere manier van omgaante komen met onvolledige en onnauwkeurige tijdsinformatie in historische databanken. Onsonderzoek spitste zich toe op het voorstellen van een datum als een verzameling van datums.Hiervoor hebben we twee soorten verzamelingen onderzocht: de vaagverzamelingen en deruwe verzamelingen. Beide bieden de mogelijkheid om een element van onzekerheid op tenemen. Uit ons onderzoek blijkt dat de vaagverzamelingen het handigst zijn aangezien zijnniet enkel onzekerheid maar ook vaagheid kunnen uitdrukken.

In de literatuur hebben we een aantal methodes gevonden om het redeneren met deze vagetijdsintervallen mogelijk te maken. Daarbij hebben we ons geconcentreerd op de methode vanNagypal en Motik, en op de methode van Schockaert. We zijn er in geslaagd beide methodente implemeteren en te testen naar performantie.

Uiteindelijk komt de methode van Schockaert die enkel werkt op trapeziumvormige vage tijds-intervallen als de beste methode naar voor. Deze werkt het snelst en is het minst onderhevigaan schommelingen in de grootte van de dataset. Nadeel aan deze methode is dat ze ietsmeer beperkingen oplegt aan de vorm van de vage tijdsintervallen waarmee geredeneerd kanworden. Deze beperkingen spelen echter enkel een rol wanneer we de datering van eerderuitzonderlijke fenomen proberen te beschrijven. Om de levensloop van een persoon te vattenvolstaan de vage tijdsintervallen zoals vereist door S2 ruimschoots.

Naar de toekomst toe zijn er nog twee belangrijke zaken die aandacht verdienen. We hebbenonze methoden getest met een relatief kleine dataset. We moeten er echter rekening meehouden dat we in de praktijk ook met meerdere tienduizenden records zouden moeten kunnenwerken. Traditioneel worden in een databank hiervoor indexen gebruikt. De functies die wemomenteel gebruiken kunnen op dit moment niet geındexeerd worden. Binnen postgresql lijkthet ons nuttig te onderzoeken of er een implementatie met een GIST index[19] kan gemaaktworden.

Verder hebben we ook niet onderzocht hoe een eindgebruiker deze vage tijdsintervallen kan

47

Page 59: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Hoofdstuk 6. Besluit 48

invoeren in de databank. De concepten van een vaag tijdsinterval zijn voor een erfgoedonder-zoeker niet zo evident te vatten. De interface waarmee deze gegevens worden ingevoerd, zoutegelijk eenvoudig en snel moeten zijn, maar toch een grote waaier aan flexibiliteit bieden.Hiervoor kan gedacht worden aan een invoerscherm waarbij de meest voorkomende zaken(een persoon met een gekende geboorte- en sterfdatum) gemakkelijk in te voeren zijn. Deminder vaak voorkomende zaken, zoals een persoon met een vage geboortedatum, moetenhaalbaar blijven.

Dit werk is gestart vanuit een erg concrete vraagstelling. Wat doe je in een databank indienje onvolledige datuminformatie wenst op te slaan en te bevragen? Onze zoektocht heeft onsuiteindelijk geleid naar een implementatie van vaagverzamelingen in postgresql. We zijn ervan overtuigd dat dit een stap is in de juiste richting en dat dit zal helpen ons erfgoed beterte onsluiten en bevraagbaar te maken.

Page 60: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage A

Resultaten van de vergelijking

tussen Nagypal en Motik en

Schockaert 2

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,067 0 0,06301/01/1701 7 0,079 7 0,06801/01/1901 132 0,558 132 0,09301/01/2101 716 0,063 716 0,06011de eeuw 0 0,066 0 0,06318de eeuw 10 0,131 10 0,06920ste eeuw 216 0,826 216 0,10722ste eeuw 716 0,064 716 0,064

Tabel A.1: Testresultaten Allen before voor NM en S2.

49

Page 61: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage A. Resultaten van de vergelijking tussen Nagypal en Motik en Schockaert 2 50

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,064 0 0,06301/01/1701 0 0,085 0 0,06701/01/1901 8 0,757 8 0,10501/01/2101 0 0,063 0 0,06411de eeuw 0 0,068 0 0,06418de eeuw 3 0,086 3 0,06720ste eeuw 91 0,826 90 0,10722ste eeuw 0 0,064 0 0,061

Tabel A.2: Testresultaten Allen meets voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,065 0 0,06601/01/1701 0 0,083 0 0,06901/01/1901 8 0,912 8 0,15301/01/2101 0 0,062 0 0,05911de eeuw 0 0,069 0 0,06218de eeuw 13 0,172 13 0,07020ste eeuw 485 1,376 482 0,17322ste eeuw 0 0,062 0 0,064

Tabel A.3: Testresultaten Allen overlaps voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,066 0 0,06401/01/1701 0 0,076 0 0,06801/01/1901 0 0,391 0 0,12701/01/2101 0 0,062 0 0,06011de eeuw 0 0,065 0 0,06418de eeuw 6 0,166 6 0,07020ste eeuw 100 0,852 99 0,14722ste eeuw 0 0,061 0 0,061

Tabel A.4: Testresultaten Allen starts voor NM en S2.

Page 62: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage A. Resultaten van de vergelijking tussen Nagypal en Motik en Schockaert 2 51

Datum NM S2n tijd (sec) n tijd (sec)

1/01/1001 0 0,064 0 0,0631/01/1701 0 0,080 0 0,0631/01/1901 0 0,629 0 0,0951/01/2101 0 0,062 0 0,06311de eeuw 0 0,060 0 0,06518de eeuw 12 0,161 10 0,07420ste eeuw 192 1,057 173 0,11622ste eeuw 0 0,063 0 0,060

Tabel A.5: Testresultaten Allen during voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,070 0 0,06301/01/1701 0 0,078 0 0,06501/01/1901 8 0,795 0 0,10001/01/2101 0 0,066 0 0,08511de eeuw 0 0,065 0 0,06718de eeuw 5 0,167 9 0,07120ste eeuw 125 1,014 169 0,16622ste eeuw 0 0,061 0 0,063

Tabel A.6: Testresultaten Allen finishes voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,065 0 0,07001/01/1701 0 0,087 0 0,06601/01/1901 0 0,774 0 0,09601/01/2101 0 0,063 0 0,06111de eeuw 0 0,062 0 0,06518de eeuw 3 0,172 3 0,07120ste eeuw 80 1,249 80 0,19422ste eeuw 0 0,063 0 0,065

Tabel A.7: Testresultaten Allen equals voor NM en S2.

Page 63: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage A. Resultaten van de vergelijking tussen Nagypal en Motik en Schockaert 2 52

Datum NM S2n tijd (sec) n tijd (sec)

1/01/1001 716 0,066 716 0,0781/01/1701 702 0,077 702 0,0691/01/1901 207 0,589 207 0,1001/01/2101 0 0,067 0 0,07211de eeuw 716 0,065 716 0,06518de eeuw 674 0,134 674 0,07120ste eeuw 1 0,819 1 0,14322ste eeuw 0 0,072 0 0,065

Tabel A.8: Testresultaten Allen after voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,063 0 0,06501/01/1701 0 0,064 0 0,06501/01/1901 0 0,089 0 0,07001/01/2101 0 0,067 0 0,07311de eeuw 0 0,063 0 0,08418de eeuw 22 0,148 22 0,07520ste eeuw 1 0,478 1 0,08422ste eeuw 0 0,069 0 0,071

Tabel A.9: Testresultaten Allen met by voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,068 0 0,06501/01/1701 2 0,087 2 0,06701/01/1901 3 0,910 3 0,09801/01/2101 0 0,117 0 0,06811de eeuw 0 0,065 0 0,06518de eeuw 47 0,195 47 0,07920ste eeuw 186 1,322 184 0,14822ste eeuw 0 0,070 0 0,068

Tabel A.10: Testresultaten Allen overlapped by voor NM en S2.

Page 64: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage A. Resultaten van de vergelijking tussen Nagypal en Motik en Schockaert 2 53

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,064 0 0,06601/01/1701 2 0,084 2 0,06801/01/1901 3 0,763 3 0,09601/01/2101 0 0,069 0 0,06711de eeuw 0 0,065 0 0,06418de eeuw 4 0,143 4 0,07720ste eeuw 90 1,167 90 0,14622ste eeuw 0 0,066 0 0,068

Tabel A.11: Testresultaten Allen started by voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,068 0 0,06301/01/1701 9 0,084 9 0,06701/01/1901 388 0,807 388 0,12201/01/2101 0 0,077 0 0,08911de eeuw 0 0,066 0 0,06618de eeuw 6 0,160 5 0,07520ste eeuw 135 1,052 114 0,14822ste eeuw 0 0,070 0 0,067

Tabel A.12: Testresultaten Allen contains voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,065 0 0,06701/01/1701 0 0,085 0 0,06601/01/1901 0 0,435 8 0,13601/01/2101 0 0,069 0 0,06811de eeuw 0 0,064 0 0,07318de eeuw 9 0,169 5 0,08120ste eeuw 171 1,336 124 0,15222ste eeuw 0 0,070 0 0,070

Tabel A.13: Testresultaten Allen finished by voor NM en S2.

Page 65: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage A. Resultaten van de vergelijking tussen Nagypal en Motik en Schockaert 2 54

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,068 0 0,06801/01/1701 7 0,095 7 0,06901/01/1901 132 1,213 132 0,09801/01/2101 716 0,069 716 0,06211de eeuw 0 0,070 0 0,06218de eeuw 10 0,156 10 0,07220ste eeuw 216 1,487 216 0,11122ste eeuw 716 0,111 716 0,064

Tabel A.14: Testresultaten Kvd before voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,064 0 0,06501/01/1701 0 0,114 0 0,06701/01/1901 0 1,519 0 0,12801/01/2101 0 0,062 0 0,06311de eeuw 0 0,065 0 0,06518de eeuw 12 0,425 12 0,06820ste eeuw 192 2,775 192 0,15122ste eeuw 0 0,062 0 0,059

Tabel A.15: Testresultaten Kvd during voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,080 0 0,06201/01/1701 9 0,069 9 0,06601/01/1901 388 0,146 388 0,12701/01/2101 0 0,061 0 0,08911de eeuw 0 0,065 0 0,06718de eeuw 57 0,083 57 0,07520ste eeuw 592 0,252 591 0,15722ste eeuw 0 0,084 0 0,061

Tabel A.16: Testresultaten Kvd intersects voor NM en S2.

Page 66: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage A. Resultaten van de vergelijking tussen Nagypal en Motik en Schockaert 2 55

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 716 0,067 716 0,07101/01/1701 702 0,079 702 0,06801/01/1901 207 0,631 207 0,10101/01/2101 0 0,074 0 0,06411de eeuw 716 0,066 716 0,06318de eeuw 674 0,222 674 0,07220ste eeuw 1 1,133 1 0,11322ste eeuw 0 0,068 0 0,064

Tabel A.17: Testresultaten Kvd after voor NM en S2.

Datum NM S2n tijd (sec) n tijd (sec)

01/01/1001 0 0,068 0 0,06401/01/1701 9 0,110 9 0,06601/01/1901 388 1,624 388 0,12501/01/2101 0 0,068 0 0,07111de eeuw 0 0,064 0 0,06318de eeuw 6 0,3604 6 0,07220ste eeuw 135 3,082 135 0,14722ste eeuw 0 0,067 0 0,060

Tabel A.18: Testresultaten Kvd contains voor NM en S2.

Page 67: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage B

Voorbeeldtoepassing

Om de leden van de examencommissie toe te laten het geleverde werk te evalueren, zonderzelf een PostgreSQL databank te moeten opzetten, werd er een kleine voorbeeldtoepassingontwikkeld. Deze staat een gebruiker toe de testdata te bevragen (figuur B.1) met de relatiesuit tabel 3.1. Hiervoor kan zowel de methode van Nagypal en Motik als de efficiente”methodevan Schockaert gebruikt worden. Een gebruiker stelt een VTI samen dat hij of zij wenst tebevragen, door de start- en einddatums van de steun- en de kernverzameling van dit VTI inte voeren. Tenslotte kan er een grenswaarde gekozen worden. Dit getal tussen 0 en 1 bepaaltvanaf welke waarden een relatie tussen twee VTI’s als waar gezien wordt.

Eens de gebruiker zijn zoekopdracht werd uitgevoerd, kan hij of zij de uitgevoerde SQL querybekijken (figuur B.2) of de zoekresultaten raadplegen (figuur B.3). Deze worden gepagineerdweergegeven. Voor elke persoon wordt er een naam getoond en het resultaat van de berekendevage relatie. In een grafiek wordt getoond hoe het VTI dat de levensloop van de persoonvoorstelt zich verhoudt tot het VTI uit de vraag. Elke persoon is aanklikbaar en bevat eendoorverwijzing naar de uitgebreide fiche over de persoon in de inventaris van het onroerenderfgoed.

Voor de ontwikkeling van de voorbeeldtoepassing werd gebruik gemaakt van een script opde server dat geschreven werd in php. De gebruikersinterface van de voorbeeldtoepassingwerd ontwikkeld met behulp van de Dojo1 javascript bibliotheek. Aangezien het om eenvoorbeeldtoepassing gaat is de achterliggende code niet klaar om in een produktieomgevingingezet worden. Zo werd er slechts geringe aandacht besteed aan het valideren van de para-meters die door de gebruiker worden ingevoerd.

1http://www.dojotoolkit.org

56

Page 68: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage B. Voorbeeldtoepassing 57

Figuur B.1: Het zoekscherm van de voorbeeldtoepassing

Figuur B.2: Een SQL query zoals die werd uitgevoerd door de voorbeeldtoepassing

Page 69: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bijlage B. Voorbeeldtoepassing 58

Figuur B.3: Het zoekresultaat gepresenteerd in de voorbeeldtoepassing

Page 70: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Lijst van figuren

3.1 Voorstelling van een ruw tijdsinterval . . . . . . . . . . . . . . . . . . . . . . . 143.2 Voorstelling van een vaag tijdsinterval . . . . . . . . . . . . . . . . . . . . . . 163.3 Voorstelling van een trapeziumvormig VTI . . . . . . . . . . . . . . . . . . . . 27

4.1 De Allen before relatie via NM. Illustratie van zeker voor en misschien voor. . 36

5.1 De levensloop van Adam Gheerijs in de testdata. . . . . . . . . . . . . . . . . 43

B.1 Het zoekscherm van de voorbeeldtoepassing . . . . . . . . . . . . . . . . . . . 57B.2 Een SQL query zoals die werd uitgevoerd door de voorbeeldtoepassing . . . . 57B.3 Het zoekresultaat gepresenteerd in de voorbeeldtoepassing . . . . . . . . . . . 58

59

Page 71: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Lijst van tabellen

2.1 Aantal datums van historische personen . . . . . . . . . . . . . . . . . . . . . 10

3.1 Relaties tussen 2 scherpe tijdsintervallen . . . . . . . . . . . . . . . . . . . . . 223.2 Hulpoperatoren voor het werken met vage tijdsintervallen bij Nagypal en Motik. 233.3 Temporele relaties op VTI’s bij Nagypal en Motik. . . . . . . . . . . . . . . . 24

5.1 Structuur van de tabel met testdata. . . . . . . . . . . . . . . . . . . . . . . . 425.2 Overzicht van de testperiodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.3 Vergelijkende testresulaten van de Allen before relatie. . . . . . . . . . . . . . 45

A.1 Testresultaten Allen before voor NM en S2. . . . . . . . . . . . . . . . . . . . 49A.2 Testresultaten Allen meets voor NM en S2. . . . . . . . . . . . . . . . . . . . 50A.3 Testresultaten Allen overlaps voor NM en S2. . . . . . . . . . . . . . . . . . . 50A.4 Testresultaten Allen starts voor NM en S2. . . . . . . . . . . . . . . . . . . . 50A.5 Testresultaten Allen during voor NM en S2. . . . . . . . . . . . . . . . . . . . 51A.6 Testresultaten Allen finishes voor NM en S2. . . . . . . . . . . . . . . . . . . 51A.7 Testresultaten Allen equals voor NM en S2. . . . . . . . . . . . . . . . . . . . 51A.8 Testresultaten Allen after voor NM en S2. . . . . . . . . . . . . . . . . . . . . 52A.9 Testresultaten Allen met by voor NM en S2. . . . . . . . . . . . . . . . . . . . 52A.10 Testresultaten Allen overlapped by voor NM en S2. . . . . . . . . . . . . . . . 52A.11 Testresultaten Allen started by voor NM en S2. . . . . . . . . . . . . . . . . . 53A.12 Testresultaten Allen contains voor NM en S2. . . . . . . . . . . . . . . . . . . 53A.13 Testresultaten Allen finished by voor NM en S2. . . . . . . . . . . . . . . . . 53A.14 Testresultaten Kvd before voor NM en S2. . . . . . . . . . . . . . . . . . . . . 54A.15 Testresultaten Kvd during voor NM en S2. . . . . . . . . . . . . . . . . . . . 54A.16 Testresultaten Kvd intersects voor NM en S2. . . . . . . . . . . . . . . . . . . 54A.17 Testresultaten Kvd after voor NM en S2. . . . . . . . . . . . . . . . . . . . . 55A.18 Testresultaten Kvd contains voor NM en S2. . . . . . . . . . . . . . . . . . . 55

60

Page 72: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bibliografie

[1] Opengis® implementation specification for geographic information - simple feature ac-cess - part 2: Sql option (2006). URL http://www.opengeospatial.org/standards/

sfs

[2] J. F. Allen. Maintaining knowledge about temporal intervals. Communications of theACM, 26(11), 832–843 (1983)

[3] A. Bassiri, M. R. Malek, A. A. Alesheikh & P. Amirian. Temporal relationshipsbetween rough time intervals. In O. Gervasi, D. Taniar, B. Murgante, A. LaganA,

Y. Mun & M. L. Gavrilova (eds.), ICCSA (1), vol. 5592 of Lecture Notes in ComputerScience, 543–552. Springer (2009)

[4] J. Celko. Joe Celko’s Trees and Hierarchies in SQL for Smarties. The Morgan Kauf-mann Series in Data Management Systems. Morgan Kaufmann (2004)

[5] R. Deneef et al. Historische tuinen en parken van Vlaanderen. Inventaris Vlaams-Brabant., vol. 6 of M&L Cahier. Ministerie van de Vlaamse Gemeenschap, AfdelingMonumenten en Landschappen (2002)

[6] E. Hofkens & I. Roosens (eds.). Nieuwe impulsen voor de landschapszorg. De land-schapsatlas, baken voor een verruimd beleid., vol. 5 of M&L Cahier. Ministerie van deVlaamse Gemeenschap, Afdeling Monumenten en Landschappen, Brussel. (2001)

[7] E. Meylemans et al. CAI I - De opbouw van een archeologisch beleidsinstrument,vol. 14 of IAP-Rapporten. Instituut voor het Archeologisch Patrimonium (2004)

[8] G. Nagypal. History ontology building: The technical view. In Proceedings of the XVIinternational conference of the Association for History and Computing (AHC 2005),207–214 (2005)

[9] G. Nagypal. Improving information retrieval effectiveness by using domain knowledgestored in ontologies. In OTM Workshops 2005, LNCS 3762, 780–789. Springer-Verlag(2005)

[10] G. Nagypal & B. Motik. A fuzzy model for representing uncertain, subjective andvague temporal knowledge in ontologies. In On the Move to Meaningful Internet Systems

61

Page 73: Imperfecte Tijdsmodellering in historische databankenlib.ugent.be/fulltxt/RUG01/001/418/820/RUG01-001418820... · 2010. 9. 8. · vage temporele informatie in databanken die historische

Bibliografie 62

2003 - Coopis, DOA, and Odbase, vol. 2888 of Lecture Notes in Computer Science, 906–923. Springer, Catania, Sicily, Italy (2003)

[11] National Information Standards Organization. ANSI/NISO Z39.19 - Guideli-nes for the Construction, Format, and Management of Monolingual Controlled Vocabu-laries. NISO Press, Bethesda, Maryland, U.S.A. (2005)

[12] H. J. Ohlbach. Relations between fuzzy time intervals. In TIME, 44–51. IEEE Com-puter Society (2004)

[13] PostGIS Project Steering Committee. Postgis 1.4.2 manual (2010). URL http:

//postgis.refractions.net/documentation/manual-1.4/

[14] Y. Qiang, K. Asmussen, M. Delafontaine, B. Stichelbaut, G. De Tre, P. De

Maeyer & N. Van de Weghe. Handling imperfect time intervals in a two-dimensionalspace. Onbepaald (2010)

[15] S. Schockaert & M. De Cock. Temporal reasoning about fuzzy intervals. Artif.Intell., 172(8-9), 1158–1193 (2008)

[16] S. Schockaert, M. De Cock & E. E. Kerre. An efficient characterization offuzzy temporal interval relations. In Proceedings of the 2006 IEEE World Congress onComputational Intelligence, 9026–9033 (2006)

[17] S. Schockaert, M. De Cock & E. E. Kerre. Imprecise temporal interval relations.In In Proceedings of the 6th International Workshop on Fuzzy Logic and Applications ,LNAI 3849, 108–113. Springer (2006)

[18] S. Schockaert, M. De Cock & E. E. Kerre. Fuzzifying allen’s temporal intervalrelations. IEEE T. Fuzzy Systems, 16(2), 517–533 (2008)

[19] The PostgreSQL Global Development Group. Postgresql 8.4.4 documentation(2009). URL http://www.postgresql.org/docs/8.4/static/index.html

[20] A. Van Baelen, E. Meus, P. Van Peer, J.-P. De Warrimont & M. De Bie.An early middle paleolithic site at kesselt-op de schans (belgian limburg). preliminaryresults. Notae Praehistoricae, 27, 19–26 (2007)