Académique Documents
Professionnel Documents
Culture Documents
ees `
a base
ontologique : le cas des vues mat
erialis
ees
Bery Leouro Mbaiossoum
THESE
pour lobtention du Grade de
*********************************************
Conception physique des bases de donnes base ontologique : le
cas des vues matrialises
*********************************************
Directeur de thse : Ladjel BELLATRECHE
Co-encadrant : Stphane JEAN
*********************************************
Soutenue le 12 dcembre 2014
devant la Commission dExamen
*********************************************
JURY
Rapporteurs : Zohra BELLAHSENE
Nadine CULLOT
Examinateurs : Olivier TESTE
Patrick MARCEL
THESE
pour lobtention du Grade de
*********************************************
Conception physique des bases de donnes base ontologique : le
cas des vues matrialises
*********************************************
Directeurs de Thse : Ladjel BELLATRECHE & Stphane JEAN
*********************************************
Soutenue le 12 dcembre 2014
devant la Commission dExamen
*********************************************
JURY
Rapporteurs : Zohra BELLAHSENE
Nadine CULLOT
Examinateurs : Olivier TESTE
Patrick MARCEL
Remerciements
Au terme de cette recherche heuristique, je tiens rendre grce Dieu tout Puissant de
ce qui a permis ce que jatteigne ce trs haut niveau dtudes. Je tiens exprimer toute ma
profonde gratitude tous ceux dont sans la participation active, cette recherche naurait pas vu
le jour. Il sagit de :
Pr Ladjel BELLATRECHE, mon Directeur de thse, pour sa disponibilit sans faille
dans ses brillants conseils, orientations et changes tout au long de cette thse.
Dr Stphane JEAN, mon co-directeur, qui ma marqu de sa disponibilit, sa confiance,
son encadrement, sa promptitude rpondre mes sollicitations durant tout le processus
de la ralisation de ce travail. MM. BELLATRECHE et JEAN ont t trs actifs dans la
recherche de financement de cette thse.
Dr ASLAOU Kobmbaye, pour avoir bien accept de maccompagner dans mes activits
dans mon pays le Tchad. Son soutien et ses conseils mont beaucoup servi.
LAgence Universitaire de la Francophonie dont la contribution se traduit par le financement de cette thse,
Pr Emmanuel GROLLEAU, Directeur du LIAS, pour mavoir accueilli dans son laboratoire.
Pr Zohra BELLAHSENE et Nadine CULLOT pour avoir accept la lourde tche dtre
rapporteurs de cette thse.
Pr Olivier TESTE et Dr Patrick MARCEL pour avoir accept de juger de la scientificit
de cette recherche.
Dr Mickael BARON et Zo FAGET pour leurs contributions si efficaces dans les commentaires techniques lors des lectures de mes travaux.
tous les membre du LIAS et tous les doctorants prsents pendant ces annes de ma
thse (notamment S. Khouri, B. Ahcene, K. Georges, B. Selma, S. Cheikh, L. Thomas, F.
Geraud, B. Moustapha, B. Ilyes, B. Paule, B. Soumia, C. ChedLia, T. Valry, B. Akli) pour
leurs amitis et leurs collaborations sincres.
Hondjack Dehainsala pour mavoir encourag venir faire mes tudes Poitiers.
NETOUA Sylvie, mon pouse, pour la patience dont elle a fait montre tout au long de cette
recherche.
Majorelle, Cyriac et Fortune mes enfants qui, en dpit de mon loignement de la maison
nuptiale nont cess dexprimer leur amour mon gard.
BERI Elazar, mon pre et BOUMBAYE Rod, ma mre pour mavoir montr le chemin
de lcole et leurs soutiens indfectibles.
tous les parents notamment NEASKEM Jared, Namadji Leouro, Lalem Rachel, BEMBA
Namadji Leouro, BENDIMAN Namadji, DJEMBER Philemon, NADWAI Philippe, DJOL
DOG Urbain, MBAIBE Achime, MBAIBE Adolphe, MBAITELSEM Bery et DJEKOUNLA
Malachie pour leur marques de soutien multiforme.
NEKOULNANG Clarice, MONGLENGAR Serges, SADJINAN Mathieu, ALATAN, RAi
HAMAT NOUBARANGAR, compatriotes doctorants avec qui, nous avons pass de bons
et difficiles moments.
toute la communaut tchadienne de Poitiers pour sa sympathie mon endroit.
tous les amis de Poitiers notamment KABORE Samuel, RICHARD Marie-Christine, Stphanie GIRAUD, Quentin pour leur esprit damiti.
Je remercie enfin toutes les personnes qui se reconnatront par les divers soutiens dont jai
fait lobjet.
ii
A
Majorelle, Cyriac et Fortune, mes enfants
iii
Introduction gnrale
Contexte et problmatique . . . . . . . . . . . . . . . . . . . . . . . . . .
Motivations et Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure du mmoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
12
2.1
12
2.2
13
2.3
13
2.4
Types dontologies . . . . . . . . . . . . . . . . . . . . . . . . . .
14
15
19
3.1
Formalisme RDF/RDFS . . . . . . . . . . . . . . . . . . . . . . .
19
3.2
Formalisme OWL . . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.3
Formalisme PLIB . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3.4
Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
30
31
5.1
5.2
39
. . . . . . . . . . . . . . . . . . . . . .
44
6.1
45
6.2
46
6.3
48
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
53
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
Conception physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
58
3.1
Les index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
3.2
59
3.3
La Fragmentation horizontale . . . . . . . . . . . . . . . . . . . .
62
Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
4.1
65
4.2
65
4.3
66
vi
4.4
66
66
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
Partie II Contributions
73
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
74
2.1
Logiques de Description . . . . . . . . . . . . . . . . . . . . . . .
74
2.2
76
2.3
77
78
3.1
78
3.2
85
88
4.1
88
4.2
instances) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
95
98
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
4.3
vii
101
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.2
3.3
3.4
3.5
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Chapitre 5 La Slection des Vues Matrialises dans les BDBO: un Mode dEm-
ploi
119
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Prliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2.1
2.2
3.2
Exprimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.1
6.2
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
viii
149
6.2
151
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.1.1
6.1.2
6.1.3
Modle de cot pour les BDBO prenant en compte leur diversit . 154
6.1.4
Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
6.2.1
Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
6.2.2
Varit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
6.2.3
Vlocit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Bibliographie
157
Annexes
171
171
173
177
Glossaire
179
ix
Introduction gnrale
Ce chapitre prliminaire prsente le contexte de notre thse savoir la diversit des bases de
donnes dfinies pour stocker la fois les ontologies et les donnes associes. Nous introduisons
ensuite nos contributions qui portent sur la conception physique de telles bases de donnes en
prenant en compte leur diversit.
1 Contexte et problmatique
Lutilisation massive du Web et de lInternet ont fait natre un besoin de partage, dchange
et danalyse des objets et en particulier des donnes. Pour raliser ces tches, connatre le sens
dune donne est devenu un enjeu important pour les entreprises, les gouvernements, les applications, les services, etc. Si nous nous penchons sur la technologie des bases de donnes dans
sa premire gnration, les concepteurs construisaient des bases de donnes pour rpondre
un besoin particulier, mais sans se soucier si ces bases de donnes seraient intgres et utilises par des personnes en dehors de leur entreprise. Lorsque cette dernire souhaite souvrir et
partager ses donnes, elle se heurte au problme dhtrognit structurelle et smantique des
donnes. Afin de rpondre ce problme, les ontologies ont t largement utilises pour expliciter le sens des concepts et des proprits dun domaine donn. Il ny a pas que la technologie
des bases de donnes qui a utilis les ontologies, dautres communauts lont galement fait :
lintelligence artificielle, le traitement de la langue naturelle, etc.
Autour du concept dontologie, plusieurs travaux de recherche se sont concentrs sur : (i)
la construction dontologies de domaine, (ii) la dfinition des formalismes de manipulation des
ontologies, (iii) lexploitation des ontologies et (iv) ltude de son volution. Ainsi, nous faisons
les constats suivants :
1. Plusieurs ontologies de domaine ont t proposes et certaines normalises, souvent dans
les domaines o une grande expertise existe. On peut citer la mdecine (le cas de lontologie Unified Medical Language System (UML)), lingnierie (IEC 61360-4 pour les
composants lectroniques, la norme ISO 23584 dans le domaine de loptique et loptro1
Introduction gnrale
nique), lenvironnement 1 , les agences de voyage [1], les jeux vido 2 , etc. De plus en plus
de besoins de construction dontologie mergent.
2. La conceptualisation dune ontologie ncessite des modles formels pour la dfinir et pour
offrir des mcanismes de raisonnement. Un nombre important de formalismes existent,
que nous pouvons classer en deux types selon lobjectif vis : (a) des formalismes pour
faciliter lchange et le partage de donnes, o les concepts sont dfinis dune manire
unique (le cas de PLIB [2]), (b) des formalismes pour dfinir des correspondances entre
vocabulaires et offrir des possibilits de dduction et dinfrence (le cas dOWL [3]).
3. La maturit des ontologies a motiv plusieurs chercheurs et industriels les utiliser pour
rpondre plusieurs problmatiques, comme lindexation des documents, lintgration
et lchange des donnes, le traitement de la langue naturelle, la conception des bases
de donnes, etc. Lusage dune ontologie apporte de nouveaux questionnements. Prenons
le cas dutilisation des ontologies pour concevoir des bases de donnes. Cette utilisation
gnre un gros volume de donnes qui doit tre stock, interrog, optimis, etc. Des solutions de persistance ont t proposes. Elles ont fait natre un nouveau type de bases
de donnes, appel Base de Donnes Base Ontologique (BDBO) ou bases de donnes
smantiques, qui stockent la fois les instances et lontologie ou les ontologies dcrivant
leur sens. Plusieurs travaux ont t proposs pour offrir des modles de stockage adquats ces donnes et leur ontologie [4, 5, 6, 7, 8, 9]. Certains sont hrits du modle
de stockage traditionnel (table oriented storage), comme la reprsentation horizontale, o
chaque classe de lontologie est stocke dans une table unique, dautres sont originaux
comme les reprsentations binaires et verticales (table de triplets). La prsence dune ontologie au sein dun Systme de Gestion de Base de Donnes (SGBD) a galement contribu lvolution de larchitecture traditionnelle de ce dernier compose habituellement
de la partie contenu et de la partie mta-base. Cette volution vise prendre en compte
la fois lontologie et son modle appel mta-schma. Ce dernier a t propos pour
offrir un accs gnrique au modle dontologie. Il joue, pour lontologie, le mme rle
que celui jou par la mta-base pour les donnes. En ce qui concerne linterrogation des
donnes, plusieurs langages dinterrogation ont t proposs. On peut citer par exemple
RDQL [10], SeRQL [11], RQL [12], Squish [13], SPARQL [14], OntoQL [15], etc. Le
langage SPARQL a t retenu par le consortium W3C (World Wide Web Consortium)
comme le langage standard pour les BDBO. Ce langage ressemble au langage SQL et est
souvent traduit dans ce dernier car la plupart des BDBO utilisent un SGBD Relationnel
comme systme sous-jacent.
4. Comme tout composant informatique, une ontologie volue et ncessite donc une gestion
de ses diffrentes versions. Lvolution dune ontologie est normalement beaucoup plus
problmatique que les volutions dune base de donnes. Ceci est d au caractre partageable de lontologie. Pour illustrer ce problme, citons Rogozan [16] qui sinterroge :
1. https://bioportal.bioontology.org/ontologies/ENVO
2. http://www.mindmeister.com/fr/324669511/game-ontology-project
2. Motivations et Objectifs
"comment prserver laccs et linterprtation des objets au moyen de leur rfrencement
une ontologie volutive" ?
Les constants prcdents nous font remarquer que les ontologies sont devenues une ralit dans
le paysage des bases de donnes et apportent une forte diversit qui a t suivie par les SGBD
industriels. Si nous prenons lexemple de Oracle (Oracle Spatial and Graph) et IBM (SOR),
elles proposent des solutions diffrentes pour grer les instances ontologiques. Cette diffrence
concerne la fois les modles de stockage utiliss et larchitecture de leur SGBD cible. Cette
diversit est au cur des travaux prsents dans ce mmoire. Nous nous intresserons en particulier la conception physique de ce type de bases de donnes qui consiste dfinir des
structures doptimisation prenant en compte cette diversit.
2 Motivations et Objectifs
La conception physique a eu un grand intrt dans le contexte des bases de donnes dcisionnelles, o une large panoplie de structures doptimisation (les vues matrialises, les index
de jointure binaire, la compression, le partitionnement, le traitement parallle, etc.) a t tudie
et supporte par les SGBD commerciaux et acadmiques. Durant la conception physique, une
ou plusieurs structures doptimisation sont slectionnes. Le processus de slection est souvent
guid par un modle de cot mathmatique estimant le cot des requtes (souvent en termes
dentres sorties) en prsence de ces structures doptimisation. La plupart des problmes de slection de structures doptimisation est difficile, car lespace de recherche li chaque structure
peut tre trs large. Prenons le cas des vues matrialises, toute requte ou partie dune requte
peut tre candidate la matrialisation. tant donn que chaque structure doptimisation a des
contraintes comme lespace de stockage et le cot de maintenance pour les vues matrialises,
on ne peut donc pas slectionner toutes les vues candidates. En consquence, nous faisons appel
des algorithmes dexploration de lespace de recherche, comme les algorithmes gntiques, le
recuit simul, les algorithmes glouton, etc. Pour quantifier la qualit de ces derniers, un modle
de cots est utilis. La question que nous nous posons dans nos travaux est comment transporter
cette dmarche traditionnelle sur les BDBO ?
Pour mener bien notre rflexion, nous avons dabord commenc par ltude de la diversit des BDBO en analysant et comparant les approches existantes. Cette tude approfondie de
diffrents types de BDBO nous a permis den proposer une formalisation unifie des BDBO.
Cette formalisation prend en compte les diffrentes composantes engendrant la diversit : les
modles dontologie, les modles de stockage, les architectures, etc. Cette formalisation nous
sert comme cadre pour identifier les variables utiliser dans un processus de slection de structures doptimisation.
La deuxime piste de recherche que nous avons explore est la dfinition dun modle de
cot pour valuer la qualit de chaque type de BDBO en excutant un ensemble de requtes.
Contrairement aux bases de donnes traditionnelles, o nous trouvons un nombre important de
3
Introduction gnrale
modles de cots, peu existent dans le cas des BDBO. Pour en dfinir un, nous avons dabord
suivi une dmarche exprimentale afin dextraire les paramtres pertinents de notre modle
de cots. Nous avons alors considr six exemples de BDBO, trois industriels (Oracle, IBM
SOR et DB2RDF) et trois acadmiques (Jena, Sesame et OntoDB - dveloppe au sein de
notre laboratoire). Ces systmes sont divers, du fait que chacun a ses propres spcificits. Nous
avons effectu une batterie de tests en utilisant le banc dessai LUBM (The Lehigh University
Benchmark) et ses requtes. Par la suite un modle de cot intgrant des paramtres issus de
cette exprimentation a t dvelopp pour valuer toute BDBO. Ce dernier est ensuite utilis
dans une approche que nous proposons pour slectionner les vues matrialises.
3 Contributions
Nos contributions travers ce travail, sont quadruples.
Premirement, nous avons tabli un tat de lart sur les BDBO. Une tude de leurs caractristiques nous a permis de mettre en lumire la grande diversit de BDBO et de leurs usages.
En effet il existe :
diffrents usages dontologies (annotation, explicitation, intgration, change de donnes,
etc.), ce qui implique lexistence dun nombre important de modles dontologies (PLIB,
RDFS, OWL, KIF, etc.);
diffrents modles de stockage (binaire, vertical, horizontal...) qui ont un impact sur la
conception physique ;
diffrents niveaux de modlisation (niveau donnes, niveau mta-donnes, niveau mtaontologie, ...), ce qui conduit des diffrentes architectures.
Deuximement, nous avons propos un modle unifiant les BDBO et un modle de cots
gnrique qui intgrent les diversits remarques.
Troisimement, nous avons effectu une valuation des performances de quelques BDBO
selon deux critres : le temps de chargement des donnes et le temps de traitement de requtes.
Enfin, nous avons exploit la prsence de lontologie au sein de SGBD pour dfinir une
mthodologie de slection des vues matrialises au niveau conceptuel. La prsence de notre
modle de cots nous a galement aid dfinir une autre mthodologie pour slectionner des
vues prenant en compte la diversit des BDBO.
Les approches que nous avons proposes, ont t valids thoriquement en utilisant le modle de cots et rellement sur un ensemble de BDBO comme Oracle, Sesame, Jena, IBM SOR,
DB2RDF et OntoDB.
4
4. Structure du mmoire
Ontologie
Formalismes
Chapitre 3
Ontologie
Donnes
Modles de Stockage
Chapitre 4
Charge de
requtes
liens
Architectures
E
Chapitre 1
Contraintes
Modle Physique
V
A
L
U
E
A
T
I
O
N
M
O
D
E
L
E
Chapitre 5
Slection
des vues
D
E
C
O
{V1, , Vn}
Chapitre 2
S
O
SGBD
Structures doptimisation
4 Structure du mmoire
Ce mmoire est organis en trois parties et une annexe, comme illustr par la Figure 1.
La premire partie comprend deux chapitres.
Le premier chapitre prsente dans un premier temps un tat des lieux sur les ontologies,
leur modles et introduit une classification des ontologies existantes. Une comparaison entre
les modles conceptuels et les ontologies est galement donne. Dans un deuxime temps, la
notion de BDBO est dfinie avec lensemble de ses composantes : les modles dontologies,
les modles de stockage et les architectures. Des exemples de BDBO existantes sont donns
pour illustrer leur diversit. Cette analyse nous a permis de donner une reprsentation multidimensionnelle des BDBO, impliquant trois dimensions reprsentant: le modle dontologie,
le modle de stockage et larchitecture. Enfin deux langages de requtes smantiques sont dtaills : le langage SPARQL et OntoQL qui a t dvelopp au sein de notre laboratoire. Dans
un souci de clarification et danalyse, nous avons compar les BDBO pour chaque niveau de
diversit.
Le second chapitre dcrit le problme de la conception physique dune manire gnrale. Il
commence par la dfinition formelle de ce problme. Un ensemble de structures doptimisation
est galement prsent, savoir les vues matrialises et les index pour la catgorie redondante
de ces structures et la fragmentation horizontale pour la catgorie non redondante. Pour chaque
structure, une formalisation de son problme de slection est donne, suivie par les approches de
slection proposes dans la littrature. Une confrontation de la conception physique des bases
de donnes traditionnelles avec les BDBO est galement discute, suivie par une dmarche de
5
Introduction gnrale
rsolution qui intgre lensemble de tapes que nous considrons pertinentes pour revisiter la
conception physique dans le contexte des BDBO. Elle comprend quatre tapes principales: (i)
la matrise des BDBO existantes, (ii) une tude exprimentale des BDBO afin de dterminer
les paramtres pertinents pour les modles de cots qui sont au cur de la conception physique,
(iii) la proposition dun modle de cots pour les BDBO et finalement, (iv) lutilisation de ces
modles pour la slection dune structure doptimisation, savoir les vues matrialises.
La deuxime partie de notre manuscrit prsente lensemble de nos contributions. Elle contient
les trois chapitres suivants.
Le chapitre 3 est consacr premirement la formalisation des ontologies et des BDBO.
La formalisation de lontologie prsente la premire dimension de diversit savoir le modle
dontologie. Tandis que la deuxime dimension prsente en dtails la diversit concernant le
modle de stockage pour les instances et lontologie et larchitecture du SGBD cible. Ces formalisations nous donnent une vue globale sur lensemble des paramtres qui peuvent influencer
la performance des requtes et le chargement des donnes au sein des BDBO. Six BDBO sont
testes (Oracle, IBM Sor, Jena, Sesame, DB2RDF et OntoDB) sur les donnes du banc dessai
LUBM, selon les critres cits ci-dessus. Cette tude exprimentale nous permet didentifier les
paramtres importants pour tablir notre modle de cot.
Le chapitre 4 propose un modle de cot pour estimer le cot des requtes en termes
dentres-sorties dfinies sur une BDBO. Ce modle prend en compte la diversit prsente
dans le chapitre 1. Des formules mathmatiques pour estimer le cot de la slection, de la projection et de la jointure sont donnes. Ce modle de cot est valid sur les donnes du banc
dessai LUBM.
Dans le chapitre 5 nous nous focalisons sur une structure doptimisation populaire qui est
les vues matrialises. Rappelons que la slection de ces dernires est difficile et base sur un
ensemble de requtes connu lavance. Pour faciliter la prsentation de nos propositions, nous
commenons par introduire les concepts de base sur les requtes, les arbres algbriques et le plan
unifi regroupant lensemble des arbres algbriques des requtes de dpart. Trois approches de
slection de vues matrialises sont dcrites : une approche conceptuelle, dans laquelle les vues
sont slectionnes au niveau ontologique. Cette approche exploite la prsence de lontologie
dans la base de donnes. La deuxime approche dite impose, qui suppose la connaissance de
toutes les composantes dune BDBO. Cette approche est similaire aux approches de slection
des vues traditionnelles, et ne prend pas en compte la diversit. La troisime approche, dite
simule, prend en compte la diversit. Des algorithmes de type glouton et gntique sont proposs pour rsoudre le problme de la slection des vues. Une comparaison de nos propositions
par rapport ltat de lart est donne.
La troisime partie prsente les conclusions gnrales de ce travail et esquisse diverses perspectives.
Les publications relatives ces travaux sont :
4. Structure du mmoire
Bery Mbaiossoum, Selma Khouri, Ladjel Bellatreche, Stphane Jean, Mickael Baron,
Etude Comparative des Systmes de Bases de Donnes base Ontologiques, Actes du
XXXme Congrs INFORSID, pp. 379-394, Montpellier, France, Mai 2012
Bery Mbaiossoum, Ladjel Bellatreche, Stphane Jean, Mickael Baron, Comparaison et
Evaluation des Systmes de Gestion de Base de Donnes Smantiques, Ingnierie des
Systmes dInformation (ISI), 18(3): 39-63, 2013
Bery Mbaiossoum, Ladjel Bellatreche, Stphane Jean, Towards Performance Evaluation
of Semantic Databases Management Systems, 29th British National Conference on Databases (BNCOD 2013), pp. 107-120, LNCS, Springer, Oxford, July, 2013
Bery Mbaiossoum, Ladjel Bellatreche, Stphane Jean, Materialized View Selection Considering the Diversity of Semantic Web Databases, Proceedings of the 18th Conference on
Advances in Databases and Information Systems (ADBIS), pp. 163-176, LNCS, Springer,
Ohrid, Republic of Macedonia September 2014,
Ce mmoire comporte une annexe qui prsente les requtes utilises dans les exprimentations.
Premire partie
Concepts fondamentaux
Chapitre
Sommaire
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
12
2.1
12
2.2
13
2.3
13
2.4
Types dontologies . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.5
15
19
3.1
Formalisme RDF/RDFS . . . . . . . . . . . . . . . . . . . . . .
19
3.2
Formalisme OWL . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.3
Formalisme PLIB . . . . . . . . . . . . . . . . . . . . . . . . .
25
3.4
Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
30
31
5.1
5.2
6
39
. . . . . . . . . . . . . . . . . . . .
44
6.1
45
6.2
46
6.3
48
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
11
1 Introduction
Les Bases de Donnes Base Ontologique (BDBO) sont au cur de nos travaux et plus
particulirement leur conception physique. Contrairement une base de donnes traditionnelle
qui ne stocke que les instances dune application, une BDBO stocke la fois des instances et
lontologie dcrivant leur sens. La prsence de cette nouvelle composante au sein dun SGBD
a pouss la communaut des bases de donnes rpondre aux quatre questions suivantes :
1. Quest-ce quune ontologie?
2. Comment dfinir formellement une ontologie?
3. Est-ce que les modles de stockage traditionnels (orients table relationnel) sont adapts
aux ontologies et aux instances ontologiques?
4. Est-ce que larchitecture de stockage traditionnelle dun SGBD (constitue de deux parties: le contenu et la mta-base) peut tre remise en question?
Lensemble des rponses ces questions peut influencer considrablement la dfinition dun
modle de cot mathmatique estimant le temps de rponse dun ensemble de requtes, car tout
modle de cot est sensible aux modles de stockage utiliss par le SGBD cible et la dfinition
de structures doptimisation au niveau conceptuel, vu les fortes similarits entre les ontologies
et les modles conceptuels.
Dans ce chapitre, nous commenons par prsenter les concepts fondamentaux lis aux ontologies. Puis nous rpondons aux questions que nous avons poses.
12
14
15
OL
Expression de classes :
Logique de Description
OCNC
Autres
OCC
Expression
de
proprits :
F-Logic
:
:
Expression de proprits :
Fonctions de drivation
Figure 1.1 Le modle en oignon pour les ontologies de domaine (extraite de [28] )
2.5.1
Une ontologie canonique ne prsente que des concepts primitifs (ou atomiques), cest-dire des concepts qui ne peuvent pas tre drivs dautres concepts. Les ontologies canoniques
fournissent une base formelle pour une modlisation et un change efficace de la connaissance
dun domaine. Ces ontologies sont importantes pour le domaine des bases de donnes (o la
redondance est viter), pour le vocabulaire technique (o chaque notion est reprsente par
un mot unique) et pour les formats dchange (o une seule reprsentation possible est prvue
pour chaque information change). Dublincore 7 [29] est un exemple normalis dontologies
conceptuelles canoniques. Pour mieux illustrer nos propos, considrons un fragment de lontologie LUBM [30] prsente sur la figure 1.2. Elle est constitue de trois classes appeles
Personne ayant comme proprit nom et sexe, Etudiant qui est une sous-classe de Personne et
Universit. Dans cette ontologie, tous les concepts sont canoniques. RDFS [21] et PLIB [31]
sont des modles dontologies communment utiliss pour dfinir des ontologies canoniques.
2.5.2
Ce sont des ontologies qui renferment dans leurs dfinitions des relations dquivalence
entre les concepts. Ce genre de relations permet de dfinir les concepts non canoniques. Les
OCNC contiennent des concepts primitifs ainsi que des concepts dfinis. La dfinition de concepts
se fait laide des oprateurs portant sur les classes comme les oprateurs ensemblistes (union,
intersection, diffrence) et les oprateurs portant sur les proprits comme les restrictions sur
les valeurs de proprits ou sur la cardinalit. Elle peut se faire aussi travers des relations
algbriques ou logiques entre les proprits. Les OCNC permettent de reprsenter la fois les
7. http://dublincore.org/
16
2.5.3
Ce sont des ontologies qui visent reprsenter les mots utiliss dans un domaine particulier. Les ontologies linguistiques permettent de fournir une reprsentation en langage naturel
des concepts dun domaine. Les reprsentations peuvent tre multilingues. Ces ontologies sont
17
2.5.4
2.5.5
Prdicat,
estInscrit
Etudiant
Objet )
Cours
21
3.2.1
22
Types de donnes
OWL utilise pour le type de donnes dune proprit owl:DatatypeProperty, le type RDFSchema rdfs:Literal ou un des types simples dfinis pour les XML Schma. Pour le type de
donnes dune proprit owl:ObjectProperty, on utilise une classe en se servant du constructeur
23
3.2.4
3.2.5
Constructeur daxiomes
OWL offre la possibilit de prciser les cardinalits dune proprit laide des axiomes
owl:minCardinality, owl:cardinality et owl:maxCardinality. Laxiome owl:equivalentClass indique que deux classes sont quivalentes, cest--dire quelles possdent les mmes instances.
Laxiome owl:disjointWith indique que deux classes donnes ne partagent aucune instance.
Laxiome owl:equivalentProperty permet dindiquer que deux proprits sont quivalentes,
cest--dire quelles prsentent les mmes valeurs pour les mmes instances. En OWL, lhypothse dunicit des noms qui considre que les identifiants permettent didentifier de manire
unique les lments dans une ontologie, nest pas garantie. En effet, deux instances de diffrents
identifiants peuvent tre les mmes. Pour grer cela, OWL propose les axiomes owl:sameAs,
owl:differentFrom et owl:AllDifferent permettant dindiquer lgalit ou lingalit des instances.
Avec ces constructeurs, les raisonnements associs OWL-DL restent dcidables. Le problme dinfrence en OWL DL est class comme tant aussi difficile que ce problme dans
les langages des logiques de description de la famille SHOIN(D). Tobies [39] a montr que ces
langages sont de complexit au pire des cas de temps exponentiel non dterministe (NExpTime). Dans la pratique, OWL-Lite est souvent utilis pour obtenir de bonnes performances
[40]. Celui-ci nautorise pas la cration de classes par les oprations boolennes owl:unionOf et
owl:complementOf, par numration de ses instances et par restriction de valeurs owl:hasValue.
Les axiomes de cardinalit owl:minCardinality, owl:cardinality et owl:maxCardinality sont limits prendre la valeur 0 ou 1 en OWL-Lite. Dans la section suivante, nous prsentons le
formalisme PLIB qui a t conu pour dfinir des ontologies canoniques pour le domaine de
lingnierie.
24
3.3.1
PLIB propose des constructeurs de classes et des mcanismes pour les organiser en des
hirarchies de subsomption. Pour la dfinition des classes, PLIB fournit le constructeur item_class. Les classes, comme les autres lments dune ontologie, sont identifies par un BSU
(Basic Semantic Unit). Le BSU est un code didentification construit partir de lidentifiant
universel de lorganisation lorigine de la construction de lontologie (supplier). PLIB propose
aussi les constructeurs functional_model_class et functional_view_class pour la cration des
classes de reprsentation (classe ne contenant que des proprits qui nont de sens que pour un
point de vue "mtier") et les classes de point de vue (classe dfinissant une perspective o les
proprits des classes de reprsentation sont dfinies).
Deux oprateurs de subsomption sont disponibles : is_a et is_case_of. Loprateur is_a
dfinit un hritage simple qui implique lhritage des proprits dfinies par les classes sub25
Pour dfinir les proprits, PLIB propose le constructeur non_dependent_p_det pour les
proprits autonomes, le constructeur dependent_p_det pour les proprits dpendantes (cest-dire, dont les valeurs dpendent de paramtres de contexte) et le constructeur representation_det pour les proprits de reprsentation dfinies dans une classe de point de vue ou de
reprsentation. PLIB propose un constructeur de paramtres de contexte (condition_det) qui
dcrit le contexte dans lequel une valeur de proprit est donne. PLIB impose un typage fort
des proprits : chaque proprit doit obligatoirement prciser son domaine et son co-domaine.
Le domaine et le co-domaine sont dfinis grce aux constructeurs name_scope et data_type. Un
co-domaine est un ensemble mathmatique dfini en extension ou en intention. Il peut tre une
classe (class_instance_type), une collection (set_type, bag_type, list_type, array_type) ou un
autre type de donnes. Le champ dapplication dune proprit est dfini par son domaine. Il arrive souvent que ce champ dapplication soit compos de plusieurs classes issues de diffrentes
branches de la hirarchie. Pour rsoudre ce problme, PLIB propose de qualifier les proprits
de la faon suivante :
une proprit est dfinie sur une classe C au plus haut niveau de la hirarchie o elle peut
tre dfinie sans ambigut. Sa porte stend sur toutes les sous-classes de C ;
une proprit visible sur une classe C peut devenir applicable sur cette classe, cest--dire
que toute instance de C doit prsenter une caractristique ou une grandeur qui reprsente
cette proprit.
3.3.3
Le modle PLIB fournit des types de donnes prdfinis comme les entiers ou les rels.
On peut associer ces derniers des units de mesure (measure_type) ou des units montaires (currency_type). PLIB permet dutiliser une classe comme un type de donnes grce
au constructeur class_instance_type. PLIB fournit galement le type aggregate_type pour la
cration de collections. Plusieurs types collections sont disponibles comme par exemple les
listes (list_type), les tableaux (array_type), les sacs (bag_type) ou les ensembles (set_type). La
cardinalit de ces collections peut tre dfinie. Enfin, le modle dontologies PLIB permet de
crer des types de donnes utilisateurs comme par exemple des types numrs (non_quantita26
Une instance reprsente un objet appartenant une classe. Elle est dfinie par sa classe
dite de base et lensemble de ses valeurs de proprits. PLIB ne permet donc pas la multiinstanciation mais offre le mcanisme dagrgation dinstance. Pour cela, PLIB distingue les
proprits essentielles dune classe de celles qui dpendent dun point de vue sur le concept
reprsent. Ainsi, une instance peut appartenir non seulement sa classe de base mais aussi aux
classes de reprsentation attaches cette classe de base par la relation is_view_of. Cependant
pour viter la redondance au niveau des valeurs des proprits des instances, les proprits
dfinies sur la classe de base ne sont pas reprises dans les classes de reprsentation.
3.3.5
Axiomes PLIB
Pour tre valide, les ontologies PLIB doivent vrifier certains axiomes parmi lesquels on
trouve :
PLIB nautorise pas un hritage multiple et un cycle dans le graphe de subsomption (is_a)
qui est une fort.
Ces axiomes dfinissent des contraintes dintgrit utilises pour la validation des donnes.
Si une instance est associe une proprit non applicable sa classe ou dont le type valeur
nest pas correcte, le systme doit signaler cette erreur et cette incompatibilit entre lontologie
et les donnes.
3.4 Synthse
La prsentation dtaille de ces trois formalismes dontologies (RDF/RDFS, PLIB et OWL)
nous a permis didentifier leurs caractristiques communes et diffrentes. Ces dernires sont
dtailles dans les sections suivantes.
3.4.1
Tous les formalismes tudis utilisent les concepts de classes et de proprits pour la conceptualisation de domaine. La relation de subsomption est utilise pour dfinir la hirarchie entre
les classes. Chaque concept est associ un identifiant qui permet dassurer son rfrencement
27
RDFS
OWL
PLIB
multiple
multiple
simple/ modulaire
+
+
-
(Lite)
(Lite)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
(Full)
-
+
+
Table 1.1 Constructeurs de la couche canonique des formalismes RDFS, OWL et PLIB.
Ces formalismes dfinissent aussi des mta-attributs qui dcrivent textuellement des concepts
et ce, dans diffrentes langues naturelles. En dautres termes, chaque formalisme fournit des
constructeurs spcifiques pour la couche OL comme on peut le voir sur le tableau 1.2 donnant
les diffrents descripteurs des formalismes tudis.
3.4.2
Les formalismes dontologies diffrent par leurs objectifs : certains sont orients gestion
et changes des donnes (PLIB, RDFS) et dautres sont orients infrence (OWL). Les formalismes orients gestion et changes des donnes dfinissent un langage canonique et sont
plus indiqus pour des bases de donnes. Les contraintes quils dfinissent dans les ontologies
sont considres comme des contraintes dintgrit dans les BD et permettent la dtection der28
Constructeurs
Classe / Proprit
commentaire
label
rfrence
source
dfinition
note
remarque
nom court
nom prfr
figure
document de dfinition
Individus
commentaire
label
description multilingue
RDFS
OWL
PLIB
+
+
+
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Table 1.2 Descripteurs de la couche linguistique des formalismes RDFS, OWL et PLIB.
Constructeurs
Classes
Intersection
Union
Complement
numration dinstances
Restriction
co-domaine
cardinalit
galit/ingalit de valeur
Caractristiques des proprits
rflexivit, symtrie, transitivit
inverse
Dduction de faits
Vrification dintgrit
RDFS
OWL
PLIB
+
(DL/Full)
(DL/Full)
(DL/Full)
+
+
(DL/Full) -
+
+
+
-
Table 1.3 Constructeurs de la couche non canonique des formalismes RDFS, OWL et PLIB.
29
On appelle base de donnes base ontologique (appele galement base de donnes smantique) une source de donnes qui contient des ontologies, un ensemble de donnes et
des liens entre ces donnes et les lments ontologiques qui en dfinissent le sens [46, 9].
Les donnes (instances) contenues dans une BDBO sont appeles des donnes (instances)
base ontologique.
5.1.1
Le problme de reprsentation des ontologies dans une base de donnes consiste dfinir
lensemble des tables ncessaires pour stocker les concepts ontologique et leurs relations. Dans
la littrature, deux approches principales ont t proposes : la reprsentation gnrique et la
reprsentation spcifique.
5.1.1.1 Reprsentation gnrique. Cette reprsentation appele aussi reprsentation verticale utilise une unique table trois colonnes (sujet, prdicat, objet) dite table de triplets pour
stocker lontologie. Cette reprsentation est gnrique par rapport au modle dontologie. En
effet, lontologie est donc dcompose en un ensemble de triplets. Chaque lment E dune
ontologie est dfini par des triplets de lune des formes suivantes :
32
personne
subclassof
DiplomDe
Universit
Lgende :
ID3
sousOrganisationDe
Dpartement
sousOrganisationDe
ID2
membreDe
Etudiant
membreDe
ID1
subclassof
Salari
ID4
DiplomDe
Classe ou
instance
type
Valeur de proprit
Proprit
Soit le fragment de lontologie LUBM prsent sur la figure 1.6. Sa reprsentation gnrique
est prsente sur la figure 1.7.
Triplet
sujet
prdicat
objet
http://lias.fr#Universit
rdf:type
rdfs:Class
http://lias.fr#Dpartement
rdf:type
rdfs:Class
http://lias.fr#Personne
rdf:type
rdfs:Class
http://lias.fr#Etudiant
rdf:type
rdfs:Class
http://lias.fr#Salari
rdf:type
rdfs:Class
http://lias.fr#Etudiant
http://lias.fr# Salari
rdfs:suclassOf http://lias.fr#Personne
rdfs:suclassOf http://lias.fr#Personne
http://lias.fr#estMembreDe
rdf:type
rdf:Property
http://lias.fr#estMembreDe
rdfs:domain
http://lias.fr#Etudiant
http://lias.fr#estMembreDe
rdfs:range
http://lias.fr#Dpartement
http://lias.fr#sousOrganisation
De
http://lias.fr# Universit
rdf:type
rdf:Property
rdfs:comment
Class
SubClassOf
Id
URI
label
comment
sub
sup
http://lias.fr#Universit
Universit
http://lias.fr#Dpartement
Dpartement
http://lias.fr#Personne
Personne
http://lias.fr#Etudiant
Etudiant
http://lias.fr#Salari
Salari
Property
id
URI
comment
11
http://lias.fr#estMembreDe
appartenance
12
http://lias.fr#sousOrganisationDe
Sous-organe
...
domain
range
34
5.1.2
Trois principales approches sont utilises pour la reprsentation des instances ontologiques
au sein des BDBO [57] : approche verticale, approche binaire et approche horizontale. Ces
trois approches sont prsentes dans les paragraphes suivants.
5.1.2.1 Approche verticale. Cette approche consiste reprsenter lontologie et ses instances par une table trois colonnes. Ces colonnes reprsentent respectivement : (1) lidentifiant de la ressource ontologique (classe, proprit ou instance ontologique), (2) le nom de la
ressource, et (3) la valeur de cette ressource. Dans cette reprsentation, chaque instance i dune
classe est dfinie par les triplets suivants :
les triplets (i, rdf:type, C) qui permettent dindiquer les classes auxquelles linstance i
appartient ;
les triplets (i, prdicat, valeur) qui permettent de caractriser linstance en lui assignant
des valeurs de proprits.
Cette reprsentation est simple et indpendante de lontologie utilise. Elle facilite linsertion de nouveaux triplets. La mise jour dune information peut ncessiter la modification de
plusieurs triplets. Linterrogation est souvent complexe car elle peut ncessiter plusieurs oprations dauto-jointure. La BDBO Sesame et celle dOracle utilise cette reprsentation pour la
reprsentation des instances ontologiques.
Une variante de cette reprsentation appele approche verticale avec ID consiste utiliser
des tables dictionnaires, cest--dire des tables stockant les identifiants et leurs valeurs littrales.
Une table dictionnaire est prvue pour des ressources et une autre pour les littraux. La table de
triplets utilise les identifiants des ressources et des littraux rfrencs dans les tables dictionnaire. La reprsentation verticale des instances de notre fragment dontologie de la figure 1.6
est prsente sur la figure 1.9. Sa variante avec ID est prsente sur la figure 1.10
35
Triplet
sujet
prdicat
objet
http://lias.fr#ID1
rdf:type
http://lias.fr# Etudiant
http://lias.fr#ID2
rdf:type
http://lias.fr#Dpartement
http://lias.fr#ID3
rdf:type
http://lias.fr#Universit
http://lias.fr#ID4
rdf:type
http://lias.fr#Salari
http://lias.fr#ID1
http://lias.fr#estMembreDe
http://lias.fr#ID2
http://lias.fr#ID2
http://lias.fr#sousOrganisationDe
http://lias.fr#ID3
http://lias.fr# ID3
rdfs:comment
Universit de Poitiers
http://lias.fr# ID1
http://lias.fr#diplomDe
http://lias.fr# ID3
Litteral
Ressource
ID
URI
ID
URI
C1
http://lias.fr#Universit
C1
http://lias.fr#Universit
http://lias.fr#Dpartement
C2
http://lias.fr#Dpartement
C2
C3
http://lias.fr#Etudiant
C3
http://lias.fr#Etudiant
P1
http://lias.fr#estMembreDe
C4
http://lias.fr#Salari
P2
http://lias.fr#estMembreDe
P0
rdf:type
L1
P1
http://lias.fr#estMembreDe
..
P2
http://lias.fr#estMembreDe
P3
http://lias.fr#diplomDe
P4
rdfs:comment
I1
http://lias.fr#ID1
I2
http://lias.fr#ID2
I3
http://lias.fr#ID3
I4
http://lias.fr#ID4
sujet
I1
I
I3
I4
I1
I2
I3
I1
Triplet
prdicat
P0
P0
P0
P0
P1
P2
P4
P3
objet
C3
C2
C1
C4
I2
I3
L1
I3
Figure 1.10 Reprsentation verticale avec ID des instances du fragment dontologie LUBM
36
Personne
ClassID
URI
C1
Universit
C2
Dpartement
C3
Etudiant
C4
Salarie
C5
Personne
..
Table Unique
Salari
ID4
Departement
ID2
Etudiant
ID1
Universit
ID3
Universit
ID3
Salari
ID4
ISA
Classes
Departement
ID2
Etudiant
ID1
NOISA
Proprits
SousOrganisationDe
sujet
objet
ID2
ID3
estMembreDe
sujet
objet
ID1
ID2
..
diplomDe
sujet
objet
ID1
ID3
sujet
ID1
ID2
ID3
ID4
Type
objet
Etudiant
Dpartement
Universit
Salari
Type
estMembre
http://lias.fr#ID1
Etudiant
ID2
http://lias.fr#ID2
Departement
http://lias.fr#ID3
Universit
http://lias.fr#ID4
Salari
....
sousOrganisationDe diplomDe
ID3
ID3
Figure 1.12 Table horizontale unique des instances du fragment dontologie LUBM
Une variante de cette approche consiste utiliser une table pour chaque classe (Fig. 1.13).
A chaque classe ontologique est associe une table ayant une colonne pour chaque proprit
utilise (une valeur associe) pour dcrire au moins une instance de cette classe. Les BDBO
OntoDB et OntoMS utilisent cette approche.
Lapproche horizontale conserve la notion de schma des donnes. Dans cette reprsentation, les tables utilises reprsentent explicitement la structure des donnes. Cet aspect permet
de faciliter lintgration automatique des bases de donnes en utilisant cette BDBO [60]. Cette
approche aide rsoudre des problmes de conception de modles conceptuels ou dindexation
smantique de bases de donnes [61]. Cette variante est galement efficace pour les requtes
portant sur les proprits dun individu ou dun ensemble dindividus. Mais elle prsente certains inconvnients de lapproche initiale comme les valeurs nulles car certains individus nont
pas certaines proprits.
38
Universit
ID
estMembre
diplomDe
ID
comment
ID1
ID2
ID3
ID3
Universit de Poitiers
Departement
ID
sousOrganisationDe
ID2
ID
Salari
ID
ID4
Personne
ID
Garder lexistant
Les premires propositions de BDBO ont stock les ontologies et leurs instances dune
faon similaire aux bases de donnes classiques en utilisant deux parties : les donnes et la
mta-base aussi appele catalogue du systme. Nous appelons cette architecture, architecture
de type I ou architecture "deux quarts". La partie "donnes" dans cette structure reprsente les
instances ontologiques (instances de classes de lontologie et les valeurs de proprits ontologiques) mais galement le schma de lontologie (classes, proprits, etc.). La partie "mtabase" est la composante traditionnelle des bases de donnes classiques. Elle contient lensemble
des tables systmes permettant la gestion et le bon fonctionnement de lensemble des donnes
contenues dans la base de donnes. Elle sert aussi de dictionnaire qui dcrit les diffrents objets du systme. Par exemple lorsquune table est cre, le catalogue enregistre sa structure
et notamment ses colonnes avec leurs types de donnes, ses diffrentes contraintes, etc. Dans
une BDBO, toutes les tables et les attributs dfinis sont documents dans la mta-base. Cette
architecture, prsente sur la figure 1.14, impose ainsi le mme modle de stockage pour lon39
BDBO I
Meta_table
ID
nom
#1
Triplet
Catalogue
systme
1
Meta_colonne
ID
#1
nom
sujet
.
.
#2
prdicat
Donnes/ Ontologie
Triplet
sujet
prdicat
Objet
Etudiant
Type
Class
Etudiant
subClass
Personne
ID1
type
Etudiant
ID1
nom
Bery
5.2.2
Pour pallier cet inconvnient, une deuxime architecture dite architecture de type II ou architecture "trois quarts" (figure 1.15) a t propose. Les instances ontologiques et lontologie
sont stockes dans deux schmas diffrents. Cette nouvelle architecture scinde la base de donnes en trois parties : catalogue systme, schma du modle ontologique, schma des instances
ontologiques. Les parties "donne" et "catalogue systme" jouent les mmes rles que prcdemment. Le schma du modle ontologique est ddi au niveau ontologique. Il dpend du
modle dontologie utilis (OWL, PLIB, RDFS, etc.). Il est compos de table(s) fige(s) pour
le stockage des diffrents concepts ontologiques tels que les classes, les proprits ou les relations de subsomption (sous-classes), etc. IBM SOR [59] est un exemple de BDBO suivant cette
deuxime architecture.
Mme si les deux schmas de stockage (modle et instances) sont indpendants, cette architecture manque de flexibilit dans la mesure o elle impose un modle dontologie fig, ce
qui ne permet pas dintroduire de nouveaux concepts issus dautres modles dontologies. Une
troisime architecture visant combler cette insuffisance a t propose. Cette troisime ar40
BDBO II
Mta_table
ID
nom
#1
Triplet
#2
Classe
Ontologie
Mta_colonne
Catalogue
systme
1
3
ID
#1
nom
sujet
.
.
#2
prdicat
Donnes
Classe
Triplet
ID
nom
sujet
prdicat
objet
#1
Etudiant
#1
nom
Bery
#2
Personne
#1
type
Etudiant
chitecture qualifie de type III (ou architecture "quatre quarts") a t propose dans le cadre
du projet OntoDB (OntoDB1 et OntoDB2) visant rpondre au besoin de flexibilit du modle dontologie utilis dans la BDBO. Cette architecture propose, en plus des trois parties,
une partie nomme mta-schma qui joue, pour les ontologies, le mme rle que celui jou
par le systme catalogue pour les donnes. Le mta-schma appel mta-modle reprsente, au
sein dun modle rflexif, la fois le modle dontologie utilis et le mta-schma lui-mme.
Les modles dontologies sont reprsents comme des instances du mta-modle. Cette partie mta-schma permet un accs gnrique au modle ontologique ainsi que lintroduction de
nouveaux constructeurs issus de diffrents formalismes ontologiques. La figure 1.16 prsente
un schma de donnes de la partie mta-schma et de la partie ontologie de notre fragment dontologie LUBM. Cette architecture a t conue de manire ce quelle soit extensible afin de
pouvoir y reprsenter dautres modles dontologies et ce grce sa partie mta-schma. Cela
donne la possibilit dtendre le schma de lontologie pour reprsenter les nouveaux concepts
non supports par les modles dontologies existants. Le schma de donnes de cette dernire
tant susceptible dvoluer ou dtre modifi ; lauto-reprsentation du mta-modle du modle
dontologie permet de rendre certains traitements gnriques et/ou indpendamment du modle
dontologie utilis.
A titre dillustration, Belaid et al. [62] ont propos dtendre le modle OntoDB pour la
reprsentation de services informatiques et des concepts dontologies de services qui en dfinissent le sens. Khouri et al. [63] ont opt pour une telle architecture pour la reprsentation de
la structure dentrept de donnes intgrant le modle des besoins. Cette vision qui permet de
voir lvolution des BDBO en termes de schmas de stockage et darchitectures est illustre
dans la figure 1.17.
Nous pouvons constater que cette architecture ressemble larchitecture mta-donnes du
41
Entit
Type
ID
E#1
Nom
Ressource
SuperEntiit
E#2
Class
E#1
E#3
Property
E#1
E#4
ObjectProperty
E#3
E#5
Data_property
E#1
ID
Nom
Class
Proprits
C#1
Universit
{D#1}
C#2
Departement
{O#2}
C#3
Etudiant
ID
T#1
T#2
T#3
Nom
String
E#2
E#3
Mta-schma
ID
Nom
Attribut
Domaine
Co-domaine
A#1
name
E#1
T#1
A#2
Domain
E#1
T#1
A#3
Range
T#1
E#1
Ontologie
Data_Property
ID
Object_Property
Nom
Domain
range
O#1
estMembreDe
O#2
C#3
sousOrganisationDe
C#2
C#4
Salari
O#3
diplomDe
C#2
E#5
Personne
{D#1, D#2}
ID
Nom
Range
C#2
D#1
nom
Strin g
C#1
D #2
Age
Int
C#1
BDBO III
Mta-schma
Catalogue systme
Mta_table
Entit
ID
nom
#1
Classe
#2
Proprit
ID
#1
#2
ID
#1
#2
nom
nom
inscrit
Proprit
Domaine
Personne
Etudiant
nom
sujet
prdicat
Donnes
Classe
nom
Etudiant
Personne
.
.
Mta_colonne
ID
#1
#2
Ontologie 3
ID
#1
#2
nom
Triplet
Classe
.
.
Triplet
.
Co-domaine
String
Universit
sujet
prdicat
objet
#1
name
Bery
#1
type
Etudiant
42
BDBO
Type 2
DAML
PLIB
OWL
RDFS
Type 1
Vertical
binaire
horizontal
Modle de stockage
FFoor
rmm
aal lis
is m
me
e
Architecture
Architecture
Type 3
dimensions
5.2.3
Cube de BDBO
En considrant les trois principaux points de la diversit des BDBO identifie prcdemment, nous pouvons reprsenter lespace des BDBO par un cube dont les axes sont respectivement les modles de stockage, les architectures et les formalismes dontologies. Les points dans
cet espace cest--dire les cellules du cube, sont les types 9 de BDBO. La figure 1.18 donne une
reprsentation de cet espace. Toute BDBO peut tre classe dans une cellule de ce cube. Par
exemple, la BDBO Oracle est classe dans la cellule de coordonnes (vertical, type 1, RDFS) 10
et la BDBO OntoDB dans la cellule (horizontale, type 3, PLIB) comme on peut le voir sur la
figure 1.19.
5.2.4
Synthse
Ltude faite dans ce chapitre montre que contrairement aux bases de donnes relationnelles qui sont toutes similaires en termes darchitecture et de modle de stockage, les BDBO
prsentent une grande diversit. Le tableau 1.4, propose une classification dirige par les ar9. A ne pas confondre avec le type darchitecture
10. Oracle est galement class dans dautres cellules car il supporte plusieurs modles dontologies
43
T ype1
T ype2
T ype3
6.2.1
Requte SELECT.
La structure dune requte SPARQL de type SELECT est similaire celle du langage SQL.
Elle se prsente sous la forme gnrale 11 suivante :
11. Nous nindiquons ici que les principales clauses dune requte SPARQL.
46
= patron de requte
La clause PREFIX permet dindiquer des alias sur les espaces de noms utiliss dans la requte.
Un espace de nom (namespace) indique lURI de lontologie utilise. La clause FROM permet
dindiquer la ou les sources RDF interroges. Cette clause est optionnelle. Si elle nest pas spcifie, lenvironnement dans lequel la requte est excute est charg de fournir la source de
triplets. Par exemple, lorsquune requte SPARQL est excute sur une BDBO, les donnes
RDF interroges sont celles contenues dans la BDBO. La clause WHERE est constitue dun ensemble de triplets pouvant contenir des variables (prfixes par ?). Un interprteur de requtes
SPARQL recherche les valeurs de ces variables pour lesquelles les triplets de la clause WHERE
sont inclus dans le graphe RDF interrog. Il retourne le sous-ensemble de ces valeurs correspondant aux variables spcifies (liste_variables_exportes ) dans la clause SELECT. SPARQL
permet dindiquer des conditions sur les variables utilises dans la requte. Ces conditions sont
dfinies grce loprateur FILTER. Cet oprateur prend en paramtre une expression boolenne. Ce rsultat peut tre modifi en spcifiant des modificateurs de squence de solution
(order by, distinct, reduced, offset, limit, ...) .
Exemple 2
La requte suivante retourne la valeur des proprits name et age pour les ressources de
type Etudiant dcrites par ces proprits. Les rsultats seront tris par ordre croissant sur
les noms.
PREFIX lias: <http://www.ensma.fr/lias#>
SELECT ?name ?age
WHERE {
?x rdf:type lias:Etudiant.
?x lias:name ?name .
?x lias:age ?age }
ORDER BY ASC(?name)
47
Lexcution dune requte SPARQL passe par une srie dtapes parmi lesquelles on a :
1. le parsing de la requte SPARQL en un arbre de syntaxe abstrait (AST Abstract Syntax
Tree)
2. la conversion de larbre de syntaxe abstrait en une requte abstraite (cest--dire, une
expression algbrique)
3. lvaluation de la requte abstraite sur un ensemble de donnes RDF.
Le calcul dune requte SPARQL de type SELECT se fait par appariement (graph pattern mapping) de graphe. Cela revient chercher les sous-graphes qui apparient le patron de requte.
Lvaluation porte sur lexpression algbrique de la requte. Or une requte peut avoir plusieurs
expressions algbriques, il est important de choisir celle dont lvaluation est bnfique cest-dire rapide et moins gourmande en ressources (CPU, mmoire). Il revient loptimiseur de
requtes de faire ce travail.
6.3.1
Requte SELECT.
La forme gnrale dune requte OntoQL de type SELECT ressemble celle de SQL. Sa
synthse est la suivante :
SELECT
liste_slection
[FROM
Liste_de_Refrence_Donnes ]
[WHERE {
Conditionde_recherche
}
[modificateurs de solutions]
Using NAMESPACE<Liste_namespace_definition>
Using LANGUAGE <LanguageID>
Hormis les clauses Using NAMESPACE et Using LANGUAGE, toutes les clauses de cette
syntaxe sont similaires celles de SQL. La clause SELECT permet de prciser les attributs
du rsultat dune requte, dappeler des fonctions ou des expressions arithmtiques comme
dans SQL. La clause WHERE est optionnelle, et permet de dfinir les conditions de restrictions.
La clause FROM rfrence les objets (par exemple, les classes) sur lesquels porte la requte.
La clause USING NAMESPACE indique que la requte doit tre excute sur des lments
ontologiques appartenant lontologie indique en paramtre. La clause Using LANGUAGE
permet dindiquer la langue naturelle utilise.
Exemple 3
La requte SELECT de OntoQL permet daccder aux diffrentes parties dune BDBO. Par
exemple, la requte SELECT #namespace FROM #Ontology accde la partie Ontologie et de
rechercher les espaces de noms des ontologies stockes dans cette BDBO.
49
Le traitement dune requte OntoQL passe par sept tapes comme indiqu sur la figure 1.20.
Ces tapes sont :
1. gnration de lexpression algbrique OntoAlgebra 12 correspondant la requte OntoQL ;
2. optimisation de lexpression algbrique OntoAlgebra ;
3. transformation de larbre algbrique OntoAlgebra en un arbre algbrique utilisant des
oprateurs de lalgbre relationnelle tendue avec les oprateurs disponibles dans les
SGBD relationnels-objets ;
4. optimisation de lexpression de larbre algbrique relationnel. Cette tape permet de faire
des optimisations qui ne sont pas ralises par le SGBD comme par exemple simplifier
une requte imbrique ;
5. transformation de lexpression de lalgbre relationnelle en une requte SQL conforme
au SGBD sur lequel la BDBO OntoDB est implante (PostgreSQL) ;
6. excution de la requte SQL sur OntoDB en utilisant le JBDC. Le rsultat retourn est
ainsi un ResultSet ;
7. transformation du ResultSet pour retourner le rsultat de la requte OntoQL.
!
#$
" ! %
"#! &
!
#$
" ! %
' "#(!
"& %""
)
*" )
+,
7 Conclusion
Dans ce chapitre, nous avons prsent la notion dontologie ainsi que ses caractristiques
principales. Plusieurs dfinitions sont proposes dans la littrature mais celle qui est communment cite est celle de Gruber : an explicit specification of a conceptualization . Plusieurs
extensions de cette dfinition ont t proposes. Nous retenons celle de Pierra [20] qui dcrit une ontologie comme une reprsentation formelle, explicite, rfrenable et consensuelle
de lensemble des concepts partags dun domaine en termes de classes dappartenance et de
12. Algbre Encore adapte aux modles de donnes dune BDBO
50
7. Conclusion
proprits caractristiques. Suivant la nature des concepts utiliss dans lontologie, trois types
dontologies existent : (i) les ontologies conceptuelles canoniques qui ne contiennent que des
concepts primitifs, (ii) les ontologies conceptuelles non canoniques qui en plus des concepts
primitifs, renferment dans leurs dfinitions des concepts dfinis et (iii) les ontologies linguistiques qui visent reprsenter les mots utiliss dans un domaine donn. Elles fournissent une
reprsentation en langage naturel des concepts dun domaine. Les reprsentations peuvent tre
multilingues. Pour construire des ontologies, on fait appel des formalismes comme RDFS
et PLIB souvent utiliss dans le domaine de lIngnierie (ils sont orients vers la gestion et
lchange des donnes), DAMLONT, DAML+OIL, FLogic et OWL dans le domaine de lIntelligence Artificielle et du Web (ils sont orients vers linfrence des donnes). Sur la base
de ces ontologies, la notion de bases de donnes base ontologiques a t dtaille. Dans le
monde des ontologies et de leur utilisation, la diversit est bien prsente. Elle concerne la fois
leur usage par les diffrentes communauts de recherche (IA, BD, TALN ...) et la consquence
de leur mise en uvre dans les bases de donnes. Dans ce contexte la diversit concerne les
modles dontologies, les modles de stockage et les architectures du SGBD cible. Nous nous
sommes galement intresss aux langages dexploitation des bases de donnes smantiques.
Nous avons tudi deux langages principaux savoir SPARQL et OntoQL. SPARQL est adopt
par le consortium W3C comme le langage standard pour les BDBO. Il est utilis sur la plupart de BDBO. OntoQL est un langage dvelopp dans notre laboratoire pour exploiter les
ontologies et les instances ontologiques.
Dans le chapitre suivant, nous tudions le problme de la conception physique dans les bases
de donnes traditionnelles, en gnral, et dans les BDBO en particulier. Nous tudions limpact
de la diversit des BDBO sur la conception physique, une phase importante dans le cycle de vie
de conception des bases de donnes avances. Lobjectif de ce chapitre est dtudier en dtail
la conception physique traditionnelle, et ensuite de la gnraliser pour linstancier dans le cadre
des BDBO.
51
Chapitre
Sommaire
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
Conception physique . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
58
3.1
Les index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
3.2
59
3.3
La Fragmentation horizontale . . . . . . . . . . . . . . . . . . .
62
Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
4.1
65
4.2
65
4.3
66
4.4
66
66
5
6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
69
1. Introduction
1 Introduction
Loptimisation de requtes est un enjeu important dans le contexte de bases de donnes. Elle
a toujours eu une place importante travers les diffrentes gnrations de bases de donnes: les
bases de donnes traditionnelles, les bases donnes XML, les bases de donnes dcisionnelles,
les bases de donnes statistiques et scientifiques, les bases de donnes smantiques, et le big
data. Puisque les applications de bases de donnes sont toujours la recherche de temps de
traitement de requtes plus performant, plusieurs travaux ont t mens pour rendre les optimiseurs de requtes plus efficaces. Pour atteindre cet objectif, les optimiseurs de requtes ont pris
en compte progressivement des paramtres issus des phases du cycle de vie de la conception de
base de donnes ( savoir, la modlisation conceptuelle, la modlisation logique ETL, la modlisation physique et le dploiement (Figure 2.1)) et le langage de requtes utilis par le SGBD
cible.
Considrons une requte impliquant une opration de jointure entre deux tables relationnelles R et S stockes sur un disque. Si nous souhaitons calculer le cot de cette jointure
en utilisant une implmentation par hachage sachant quil existe plusieurs algorithmes pour
implmenter une opration de jointure (boucles imbriques, le tri, etc.), nous aurons besoin
des paramtres issus de lensemble de phases du cycle de vie:
la couche conceptuelle: la longueur de chaque attribut de chaque table;
la couche logique: la taille (en termes dinstances) de chaque table;
la couche physique: le modle de stockage utilis pour stocker les tables (row store,
column store)
la couche de dploiement: les caractristiques de disque comme la taille dune page
disque.
Le cot de cette jointure, dnot par JHash, est donn par la formule suivante [80]:
JHash = 3 (|R| + |S |)
R
(1)
S
2. Conception physique
les caractristiques du modle objet dans loptimisation: les expressions de chemins, les groupages dobjets, les parcours de pointeurs, les index de chemins, et aussi les mthodes utilisateur
[81]. La prsence du modle dontologie au sein dun SGBD doit tre prise en compte pour la
conception physique. La Figure 2.2 illustre bien les phases de cycle de vie prises en compte par
les deux types de bases de donnes: traditionnelles et smantiques.
Besoins
A1
B1
C1
D1
A2
B1
C2
D2
A3
B2
C1
D3
Phase
Conceptuelle
Phase
Logique
Phase de
dploiement
Phase
Physique
Figure 2.2 Problme de conception physique dans les phases de cycle de vie
A partir de cette discussion, deux constats importants mergent: (i) la prsence de lontologie dans une base de donnes smantique peut tre exploite pour offrir des optimisations et (ii)
tout changement au niveau des phases du cycle de vie entraine automatiquement une nouvelle
visite de la conception physique.
Dans ce chapitre, nous dtaillons le processus de la conception physique la fois dans le
contexte des bases de donnes traditionnelles et smantiques. Nous y exposons la problmatique, des exemples de structures doptimisation ainsi que notre dmarche de rsolution dans le
cas des BDBO.
2 Conception physique
Un enjeu important pour la communaut de bases de donnes est la conception physique
des bases de donnes avances manipulant un gros volume de donnes tels que les entrepts de
donnes [82, 83]. Dans son papier Self-Tuning Database Systems: A Decade of Progress (prix
de 10 Year Best Paper Award la confrence prestigieuse Very Large Databases, dition 2007),
Surajit Chaudhuri indique : "The first generation of relational execution engines were relatively
57
Etant donn que nous ne pouvons pas matrialiser toutes les vues pour des raisons de stockage, de maintenance et de rcriture, la slection des vues matrialises consiste choisir un
sous-ensemble de vues candidates permettant de rduire le cot dexcution dune charge de
requtes. La slection des vues peut tre effectue sous certaines contraintes, gnralement un
quota despace et/ou un seuil de temps de maintenance ne pas dpasser. Les principaux travaux sur la slection des vues matrialises ont t inspirs de lapproche ODT P. Le problme
de slection des vues matrialises (PSV) peut donc tre formalis comme suit [94, 95] :
Etant donns :
Q = {q1 , q2 , ..., qn } une charge de requtes o chaque requte qi possde une frquence
daccs fi , (1 i n);
un schma de BD ou dun entrept de donnes dploye sur une plateforme donne;
un ensemble de contraintes C.
Le problme de slection de vues (PSV) consiste trouver un ensemble de vues, VM, qui permet de rduire le cot total dexcution des requtes de Q et qui respecte les contraintes de
C. Les contraintes de C peuvent tre des contraintes de stockage, de maintenance, de temps
dexcution, etc.
Comme le problme de slection dindex, le PSV est NP-complet [87]. Le PSV dans les
entrepts de donnes a t largement tudi tant pour lapproche MOLAP (multidimensionnal
OLAP) que pour lapproche ROLAP (relational OLAP). Dans lapproche MOLAP, le cube de
donnes est considr comme la structure primordiale pour slectionner les vues matrialises.
Chaque cellule du cube est considre comme une vue potentielle. Dans lapproche ROLAP
chaque requte est reprsente par un arbre algbrique [96]. Chaque nud (non feuille) est
considr comme une vue potentielle.
Deux types de PSV ont t considrs : le PSV statique et le PSV dynamique. Le PSV statique consiste slectionner un ensemble de vues matrialiser afin de minimiser le cot total
dvaluation de ces requtes, le cot de maintenance ou les deux, et ce, sous la contrainte de la
ressource. Le problme suppose donc que lensemble des requtes nvolue pas. Si des volutions sont enregistres dans les requtes alors il est ncessaire de reconsidrer totalement le problme (en reconstruisant les vues matrialiser). Le PSV dynamique considre que lensemble
des requtes volue dans le temps [97, 98, 99, 100]. Dans ce cas, lalgorithme dynamique peut
tre amen modifier lensemble des vues matrialises en fonction de nouvelles requtes. En
effet, il peut insrer de nouvelles vues et en supprimer dautres dans le cas o lespace maximum autoris serait atteint. Pour combler les lacunes du PSV statique, Kotidis et al. [97] ont
propos un systme appel DynaMat, qui matrialise les vues dune manire dynamique. DynaMat combine en fait les problmes de la slection et de la maintenance des vues.
Plusieurs travaux ont tudi le problme de slection des vues matrialises. Ces travaux
peuvent tre classs en deux grandes catgories [101] : (1) travaux dirigs par le temps dinterrogation et (2) travaux dirigs par le temps de maintenance. La premire catgorie privilgie
60
3.2.2
Les tables de base changent et voluent au rythme des mises jour. Cependant, si ces changements ne sont pas reports dans les vues matrialises, leurs contenus deviendront obsoltes et leurs objets ne reprsenteront plus la ralit. La maintenance des vues matrialises
consiste reporter les modifications survenues sur les tables de base au niveau des vues. Cela
peut se faire selon trois approches : priodiques, immdiates et diffre. Dans la premire approche [117, 118], les vues sont mises jour continuellement des priodes prcises ; dans ce
cas ces vues peuvent tre considres comme des photographies (snapshots). Dans la seconde
[119, 120], les vues sont mises jour immdiatement la fin de chaque transaction. Dans la
dernire [121], les modifications sont propages dune manire diffre. Dans ce cas, une vue
est mise jour uniquement au moment o elle est utilise par une requte dun utilisateur.
La maintenance des vues peut tre effectue en recalculant ces vues partir des tables de
base. Cependant, cette approche est compltement inefficace (trs coteuse). En effet, une bonne
maintenance des vues est ralise lorsque les changements (insertions, suppressions, modifications) effectus dans les tables sources peuvent tre propags aux vues sans tre dans lobligation de recalculer intgralement leur contenu. Pour rsoudre ce problme, trois types de maintenance ont t proposes : incrmentale, autonome et en batch. La maintenance incrmentale
consiste identifier le nouvel ensemble de n-uplets ajouter la vue dans le cas dune insertion
61
3.2.3
Aprs le processus de slection des vues, toutes les requtes dfinies sur lentrept doivent
tre rcrites en fonction des vues. Slectionner la meilleure rcriture pour une requte est
une tche difficile [122, 123]. Le processus de rcriture de requtes est support par la plupart
des SGBD multidimensionnels (ex. Oracle). Le processus de rcriture des requtes a attir
lattention de nombreux chercheurs car elle est en relation avec plusieurs problmes de gestion
de donnes: loptimisation de requtes, lintgration des donnes, la conception des entrepts
de donnes, etc. Le processus de rcriture des requtes a t utilis comme une technique
doptimisation pour rduire le cot dvaluation dune requte.
Plus formellement; ce processus peut se dfinir ainsi: soit une requte Q dfinie sur un
schma dune base de donnes et un ensemble de vues {V1 , V2 , ..., Vi } sur le mme schma. Estil possible de rpondre la requte Q en utilisant seulement les vues? Alternativement, quel
est le plan dexcution le moins cher pour Q en supposant quen plus des tables de la base de
donnes, on a aussi un ensemble de vues? La figure 2.3 donne une illustration de ce processus.
Requte
Gnration
de plan
Evaluation
de plans
Structure
doptimisation
Slectionnes
(index, VM,)
Requte
rcrite
meilleur
plan
Gnration
de plan
4 Synthse
Daprs cette tude, nous concluons que les optimisations actuelles se basent sur lensemble
de phases de cycle de vie de conception dune base de donnes. En consquence, le problme de
la conception physique peut tre prsent comme un problme doptimisation. Etant donns :
Un schma dune base de donnes dploye sur une plateforme donne;
Une charge de requtes Q = {Q1 , Q2 , ..., Qm }, o chaque requte Q j possde une frquence
daccs f j ;
Un ensemble de structures doptimisation S O = {S O1 , S O2 , ..., S Ol } supportes par le
SGBD hte utilis pour rpondre aux requtes ;
Un ensemble de contraintes lies S O : Cont = {Cont1 , Cont2 , ..., Contl }, o chaque
contrainte Conti (1 i l) est associe une structure doptimisation S Oi .
Le problme de la conception physique consiste slectionner des schmas de structures
doptimisation afin de rduire le cot dexcution de la charge de requtes Q en prsence de
ces derniers tout en respectant les contraintes dfinies.
Pour rsoudre ce problme, il faut considrer lespace de recherche qui intgre tous les
sous-espaces correspondants aux structures doptimisation. Si Insi est le nombre dinstances de
Pt
la structure doptimisation S Oi , lespace de recherche global est 2 i=1 Insi . Cela est d au fait que
les diffrentes instances peuvent interagir [133].
Dans la pratique, ladministrateur de base de donnes (DBA) doit effectuer les choix suivants: (a) choix de structures doptimisation parmi S O suppos(es) pertinente(s) (b) choix du
mode de slection des schmas doptimisation de ces dernires dans le cas o il dcide dutiliser plusieurs structures et (c) choix des algorithmes pour les slections. Enfin le DBA passe la
validation des configurations recommandes par une mise en uvre.
64
4. Synthse
67
s
de
de
u
t
BO
BD
Structures doptimisation
slectionnes (Index, VM, etc.)
68
6. Conclusion
6 Conclusion
Dans ce chapitre, nous nous sommes intresss la conception physique et avons mis en
vidence les difficults que lon rencontre dans la conception physique des bases de donnes.
Nous avons montr que la diversit de modles de stockage des BDBO, la varit de leurs
architectures et la mconnaissance des tables sur lesquelles portent les requtes amplifient davantage la complexit du problme de conception physique qui est dj NP-complet dans les
BD traditionnelles.
Ce constat nous motive porter notre attention sur ce problme dans les bases de donnes
base ontologique.
Notre dmarche est de proposer une formalisation unifie des BDBO qui prend en compte
leur diversit. Une fois cette formalisation tablie, le dveloppement des modles de cot pour
chaque spcificit devient un enjeu important. La qualit de ces derniers impacte celle de la
conception physique. Pour instancier notre dmarche de conception physique, nous prenons le
cas des vues matrialises. Ces points seront dtaills dans les chapitres suivants.
69
Deuxime partie
Contributions
71
Chapitre
Sommaire
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
74
2.1
Logiques de Description . . . . . . . . . . . . . . . . . . . . . .
74
2.2
76
2.3
77
. . . . . . . . . . . . . . . . . . . . .
78
85
4.1
88
4.2
90
95
98
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
3.1
3.2
4
4.3
73
78
88
1 Introduction
Dans la conclusion du chapitre prcdent, nous avons mentionn qutudier le problme de
la conception physique dans le contexte des BDBO est une tche difficile. Cela est d la forte
diversit lie aux modles de stockage et aux architectures du SGBD candidats pour stocker
ce type de base. Une conception physique de bonne qualit ncessite la prsence dun bon
modle de cot. Ce dernier doit prendre en compte des paramtres influents de lensemble des
phases du cycle de vie de conception des BDBO (Figure 2.1). En examinant la littrature, nous
avons remarqu la prsence dun nombre limit de modles de cot dans le contexte de base
de donnes smantiques. Pour identifier les paramtres de notre modle de cot, nous avons
suivi une approche exprimentale qui a permis dvaluer trois types de BDBO, chacune ayant
un modle de stockage et une architecture diffrente. Pour avoir une vue claire sur les BDBO
utilises, nous avons dabord procd la gnralisation un ensemble des BDBO en proposant
un modle unifi. Cette formalisation nous a permis didentifier lensemble des composantes
dune BDBO.
Dans ce chapitre, nous proposons dabord une formalisation gnrique des BDBO puis une
tude empirique de six exemples de BDBO, savoir OntoDB, Oracle, IBM SOR, DB2RDF,
Sesame et Jena.
OWL
intersectionOf
unionOf
complementOf
oneOf
allValuesFrom
someValuesFrom
hasValue
minCardinality
maxCardinality
cardinality
equivalentClass, sameAs
Dfinition
Conjonction de concepts
Disjonction de concepts
Ngation
Enumration
Quantificateur universel
Quantificateur existentiel
Egalit de valeur
Cardinalit minimale
Cardinalit maximale
Cardinalit exacte
Equivalence entre concepts
velle classe dont toutes les instances prennent leurs valeurs dans la classe C1 pour la
proprit p ;
quantification existentielle ( p.C1, owl:someValuesFrom) permet de dclarer une nouvelle classe dont les instances prennent au moins une valeur dans C1 pour la proprit
p;
galit de valeur (= P.o1 , owl:hasValue) permet de dclarer une nouvelle classe en
imposant la valeur spcifie (o1 ) toutes les instances de la classe en question. Par
exemple, la classe Homme peut tre dclare comme la classe Personne avec la proprit sexe gale Masculin ( Homme Personne p p.sexe.Masculin) ;
cardinalit minimale ( P.C1 , owl:minCardinality) permet de dclarer une nouvelle
classe en fixant une borne infrieure au nombre dinstances dans une proprit ;
cardinalit maximale ( P.C1 , owl:maxCardinality) permet de dclarer une nouvelle
classe en fixant une borne suprieure au nombre dinstances dans une proprit ;
cardinalit exacte (= P.C1 , owl:cardinality) permet de dclarer une nouvelle classe en
indiquant exactement le nombre des instances dans une proprit.
Le modle prsent dans cette section permet de reprsenter la diversit des BDBO au
niveau macroscopique en termes de formalisme dontologie, de modles de stockage et darchitecture. Dans la section suivante, nous chercherons comparer plus prcisment les BDBO.
Pour cela, nous allons nous intresser quelques BDBO particulires.
OntoDB [9] est une architecture de BDBO conue par le Laboratoire dInformatique et
dAutomatique pour les Systmes (LIAS). Elle est conue pour supporter lvolution des ontologies et pour offrir un accs aux donnes au niveau ontologique et au niveau donnes. Une
premire monture est implante sur le SGBD/RO PostGreSQL. Elle offre une nouvelle faon
de concevoir des applications de bases de donnes en stockant dans la base de donnes explicitement les donnes, le modle conceptuel qui dfinit la structure des donnes et lontologie qui
dfinit le sens de ces donnes. Il est dot du langage OntoQL qui a t prsent au chapitre 1.
Celui-ci permet la fois dinterroger les ontologies, les donnes mais aussi les deux simultanment. Il prvoit galement la possibilit dutiliser le langage SPARQL. OntoDB se fonde sur les
hypothses de typage fort des proprits 14 et des instances 15 , la compltude de dfinition et la
mono-instanciation. La BDBO OntoDB a t largement utilise dans des projets industriels et
14. Toute proprit doit avoir un domaine et un co-domaine uniques;
15. toute instance du domaine ne peut tre dcrite que par des proprits applicables sa classe de base.
78
La compagnie Oracle a rcemment ajout son SGBD le support des langages RDF et OWL
pour permettre ses clients de bnficier dune plate-forme de gestion de donnes smantiques.
Cette fonctionnalit a t implante pour la premire fois dans le SGBD Spatial Oracle 10g et
est dsormais en option dans les bases de donnes Oracle sous le nom de Oracle Spatial and
Graph.
Oracle propose les fonctionnalits suivantes pour les BDBO :
le stockage, le chargement et laccs aux donnes et aux ontologies travers le langage
de manipulation de donnes ;
79
(2)
Partie mta-schma
UML_CLASS
nom
ID
111
superclass
Mta-modle dontologie
Class
1
nom : string
*
properties
1
Partie mta-base
UML_class
name
class
Meta_table
ID
1111
UML_attribute
ID
112
property
nom : string
name
nom
ID
1112
(4)
name
P erso n ne
E tu d ia nt
rid
12
P3
Property
name
email
inscrit
String
nom
inscrit
rid
P1
nom
Lola
email
lol@
(3)
Etudiant
rid
E1
Personne
subclassOf
Universit
name
nom
Partie donnes
Personne
C la ss
r id
11
12
(1)
Meta_column
Partie ontologie
superclass
name
Personne
nom
Bery
inscrit
UP
ID01
Lola
nom
inscrit
Bery
UP
nom
sexe
Etudiant
ontologie
Lola
instances dontologie
3.1.2.1 Formalisme dontologies. La BDBO Oracle prend en compte les ontologies RDF
et OWL prsentes sous le format N-Triples. Pour OWL, Oracle a dfini deux sous-ensembles
dOWL-DL quelle traite dans les processus dinfrence [148] : OWLPrime et OWLSIF.
16. A Semantic Web Framework for Java - http://jena.sourceforge.net
80
3.1.2.3 Formalisation. Dans notre formalisation, une BDBO Oracle est reprsente par:
BDBOOracle :< MO :<C, P, Ref(C), (RDFS, OWLSIF ou OWLPrime)>, I, Sch, Pop, Vertical,
Vertical, Type I>,
o Ref(C) : Application doprateurs des langages RDFS, OWLSIF et OWLPrime sur les classes
et proprits; I : les instances (tables RDF_link et RDF_values); Applic retourne pour chaque
classe c, retourne toutes ses proprits.
3.1.3
La socit IBM sest investie dans plusieurs travaux sur les technologies dintgration et
de gestion des donnes smantiques et surtout celles relatives au Web Smantique. Elle sest
implique dans le dveloppement doutils dexploitation des ontologies qui sont un maillon
important du Web Smantique [149]. Parmi les outils bass sur les ontologies mis au point
par IBM, nous trouvons Integrated Ontology Development Toolkit (IODT): un outil ddi au
stockage, la manipulation, linterrogation et linfrence des ontologies et leurs instances.
Dans le cadre de notre travail, nous nous sommes intresss SOR [59] qui est un rfrentiel
des ontologies OWL. SOR est incorpor dans IODT. Il comprend un raisonneur et un outil de
recherche. Il utilise pour le stockage une base de donnes relationnelle notamment DB2.
3.1.3.1 Formalisme dontologies. Les outils de SOR sont destins manipuler les ontologies du Web Smantique notamment le formalisme OWL. Cependant, limplantation actuelle
manipule les ontologies OWL-Lite et OWL-DL.
81
Les tables atomiques. Les tables atomiques sont les tables : Ontology, PrimitiveClass,
Property, Datatype, Individual, Literal et Resource. Ces tables encodent lURI avec un identifiant entier qui rduit la longueur des URI. Elles disposent dune colonne hashcode qui est
utilise pour acclrer la recherche sur les URI et dune colonne ontologyID qui indique de
quelle ontologie une URL provient. La table Property stocke les caractristiques des proprits
(symtrique, transitive, etc.). Pour profiter des oprations de comparaison internes aux bases de
donnes, les littraux boolens, dates et numriques sont reprsents sparment en utilisant les
types de donnes correspondants fournis par les bases de donnes.
Les tables des faits ABox. Il y a trois sortes dassertions ABox dvelopps dans le raisonnement : les assertions TypeOf, Datatypeproperty et Objectproperty. Les triplets de ces assertions sont stocks dans trois tables diffrentes : TypeOf, RelationshipInd et RelationshipLit. Une
vue nomme Relationship est construite comme un point dentre aux triplets objectproperty et
aux triplets datatypeproperty. Les triplets non pertinents au raisonnement tels que ceux dont le
prdicat est RDFS:comment, sont stocks dans la table Utility.
Les tables daxiomes TBox. Ce sont des tables utilises pour garder les axiomes TBox.
Il sagit des tables SubClassOf, SubPropertyOf, Domain, Range, DisjointClass, InversePropertyOf.
Les tables des constructeurs de classes. Les tables des constructeurs de classes sont utilises pour stocker les expressions de classe. SOR dcompose une description complexe de
classe en instances de concepts de classe OWL, assigne un nouvel ID chaque instance et la
stocke dans la table de la classe correspondante.
17. Une base de connaissances en Logique de Description est compose de TBOX (Terminological Box) dcrivant les connaissances intentionnelles du domaine sous forme daxiomes, et de ABOX (Assertion Box) dcrivant
les connaissances extensionnelles du domaine (les instances).
82
3.1.3.3 Formalisation. La reprsentation des BDBO SOR dans notre modle unifi est :
BDBOS ORIBM :< MO :< C, P, Applic, Re f, OWL >, I, Sch(c), Spcifique, Binaire, Type II >.
Sch(c) renvoie les proprits qui ont de valeurs de la classe c; o Ref traduit une application
doprateurs de la logique de description (LD) sur les classes et proprits; I : les instances des
tables.
3.1.4
Parmi les travaux rcents de IBM sur lexploitation de la smantique des donnes, on trouve
DB2RDF [150, 151] qui est un systme de gestion de bases de donnes smantiques (Base de
donnes RDF). IBM la intgr dans la nouvelle version de son SGBD (DB2 10.1) mais on peut
lutiliser aussi sur DB2 9.6. IBM fournit un certain nombre de fonctions pour la gestion des
donnes ontologiques dans un environnement Java (bas sur les paquetages de jena). DB2RDF
supporte le langage SPARQL et utilise comme format de donnes le N-Triple [152] comme
oracle. DB2RDF ne fait pas encore des dductions de donnes.
3.1.5
La BDBO ssame est un framework de gestion des donnes smantiques dvelopp par
Aduna, un diteur nerlandais de logiciels. Ssame permet le stockage et linterrogation des
ontologies et de leurs instances. Cest un outil facile utiliser et fournissant une API permettant
une connexion tout systme de stockage de donnes smantiques. Elle offre la possibilit de
faire des infrences de donnes. Sesame est flexible en ce sens quil peut tre dploy sur des
systmes de stockage varis : mmoire centrale, systmes de fichiers, bases de donnes relationnelles, etc. Elle dispose de son propre langage dinterrogation (SeRQL) mais supporte aussi
le langage de requtes SPARQL (le standard du W3C 18 ). Sesame offre un accs transparent
des rfrentiels RDF distants en utilisant exactement la mme API que pour laccs local.
3.1.5.1 Formalisme dontologies. La BDBO Ssame a pour vocation de grer les donnes
du Web Smantique. Elle supporte les modles dontologies RDF/RDFS et OWL.
84
Jena est une architecture pour stocker et grer les donnes ontologiques. Cest aussi un
framework open-source pour dvelopper des applications pour le Web smantique. Elle fournit
un environnement de programmation pour les modles dontologies RDF Schema et OWL. Jena
utilise comme langage de requte SPARQL. Il propose de moteurs dinfrence base de rgles
(prdfinies et utilisateur).
3.1.6.1 Formalisme dontologies. Comme Sesame la BDBO Jena est oriente vers la gestion des donnes du Web Smantique. Elle prend en compte les modles dontologies RDF/RDFS
et OWL.
3.1.6.2 Architecture et Modle de stockage. Jena propose plusieurs faons de rendre persistantes les donnes que lon regroupe sous deux vocables :
1. TDB (Tuple DataBase), un stockage fond sur le systme de gestion des fichiers ou la
mmoire,
2. SDB (SPARQL DataBase), un systme de stockage utilisant une base de donnes standard.
Cest ce dernier qui fait lobjet de notre travail car nous parlons des bases de donnes base
ontologique. Il existe deux versions de Jena : la premire version appele jena1 utilise la reprsentation verticale (table des triples) [7] et la deuxime version jena2 utilise une reprsentation
spcifique (property-table et class-property-table) [6]. Dans les deux cas, larchitecture est de
type "deux quarts". Nous utiliserons jena2 dans notre travail.
3.1.6.3 Formalisation. Une BDBO Jena dans notre modle unifi est dfinie par :
BDBO Jena :< MO :<C, P, Applic, Ref, RDFS>, I, Sch, Pop, Vertical, Vertical, Type I>, pour le
cas o la reprsentation verticale est utilise et par
BDBO Jena :< MO :<C, P, Applic, Ref, RDFS>, I, Sch, Pop, Vertical, Binaire, Type I> lorsque
lon utilise le modle binaire. I reprsente les instances de la table des triplets ou des tables de
proprits suivant la reprsentation.
change de donnes
Cette caractristique indique si la BDBO facilite le transfert de ses donnes sur une autre
BDBO. En effet, une BDBO est base sur une ontologie qui est une conceptualisation consensuelle dun domaine, dont chaque lment est rfrenable. Les donnes des BDBO utilisant
la mme ontologie peuvent tre changes car cette ontologie peut tre considre comme un
format dchange de donnes sur ce domaine. Cette fonctionnalit est importante quand on est
dans un environnement ncessitant de lintgration des donnes.
3.2.2
Support linguistique
Cette caractristique indique si une BDBO est capable de prendre en compte les concepts
dune ontologie dfinis dans plusieurs langues naturelles. En effet, comme nous lavons vu
au chapitre 1, dans certains modles dontologies (RDFS, OWL, PLIB) le multilinguisme est
utilis pour dcrire les ontologies et les donnes.
3.2.3
Langage de requtes
A fin de permettre linterrogation de ses ontologies et ses instances ontologiques, une BDBO
doit supporter au moins un langage de requtes. Celui-ci doit permettre dajouter, modifier et
supprimer les instances dune BDBO ainsi que de dfinir les classes quelles instancient et
les proprits qui les caractrisent. Pour chaque BDBO, nous listons les langages de requtes
quelle supporte dans le tableau 3.2.
3.2.4
Extraction dontologies
Cette caractristique indique si on peut extraire dune BDBO un sous-ensemble des concepts
de lontologie. Les concepts extraits de la base de donnes doivent tre cohrents. Dans la plupart des BDBO, une requte SPARQL portant sur le schma dontologie peut permettre une
extraction.
3.2.5
Cette caractristique est fondamentale dans les bases de donnes classiques. Les donnes
doivent tre protges des accs non autoriss ou mal intentionns [154]. Une BDBO est sense
disposer des mcanismes permettant lautorisation, le refus ou la rvocation de privilge daccs
aux donnes et une ontologie. La plupart des BDBO profite de mcanismes de scurit offerts
par les SGBD relationnel ou relationnel-objet sous-jacents.
86
Les ontologies sont susceptibles dvoluer. En effet, les ontologies peuvent tre modifies
quand elles ne satisfont plus les besoins dune communaut. Les causes des modifications
peuvent tre :
3.2.7
Cest une fonctionnalit qui permet une BDBO de grer lvolution des instances. De
la mme manire que les ontologies, les donnes ontologiques voluent. Une volution dune
ontologie peut modifier la structure des instances comme par exemple lors de lajout dune
proprit ou dun concept. Mme les oprations sur les instances (ajout, suppression ou mise
jour) entranent lvolution des instances. Une BDBO peut offrir un mcanisme pour pouvoir
accder toutes les instances des concepts existants dans une version donne et des mcanismes
pour une gestion du cycle de vie des instances des classes.
3.2.8
Moteur dinfrence
Parmi les BDBO qui disposent de moteurs dinfrence, certaines offrent lutilisateur la
possibilit de crer sa propre base des rgles. Cest le cas dOracle, de Jena ou de Sesame. Les
rgles sont en gnral de la forme : clause consequence. La dduction peut se faire lors
du chargement de donnes (pour les BDBO satures) ou linitiative de lutilisateur aprs le
chargement de donnes.
3.2.10
Cest une fonctionnalit qui permet dextraire dune BDBO un sous-ensemble des instances
associes certains concepts. Les instances extraites de la base de donnes doivent tre consistantes et cohrentes. Cette fonctionnalit permet le partage et lintgration des donnes.
3.2.11
Vrification de la consistance
Cette fonctionnalit permet une BDBO de sassurer quune ontologie est consistante cest-dire quelle est conforme son modle. La vrification peut porter aussi sur les instances. La
vrification de la consistance dune instance se fait en utilisant les axiomes dfinis dans lontologie. La plupart des BDBO ont des modules qui effectuent cette vrification soit automatiquement (SOR, OntoDB) soit la demande de lutilisateur (Oracle, Jena, Sesame).
Extraction dontologies
Scurit des donnes
Gestion des versions et volutions des ontologies
Cycle de vie des instances
Moteur dinfrence
Base de rgles utilisateur
Exportation des donnes
Vrification de la consistance
Modle de stockage dontologies
Modle de stockage des instances
Architecture
SGBD actuellement utiliss
Oracle
RDF,
OWL
oui
oui
sql,
sparl
SOR
OWL
Sesame
RDF,
OWL
oui
non
serql,
sparql
Db2rdf
RDF
oui
oui
non
OntoDB Jena
PLIB
RDF,
OWL
oui
Oui
oui
oui
oui,
non
sparql ontoql, rql,
sparql
Rdql,
sparql
oui
oui
oui
oui
oui
oui
non
oui
non
oui
oui
non
oui
oui
non
non
oui
oui
oui
oui
Vertic.
non
oui
non
oui
oui
Spcif.
non
oui
oui
oui
oui
Vertic.,
specif.
vertic.,
binaire
2/4
Oracle,
Postgres,
mysql
non
non
non
oui
oui
Vertic.
oui
non
non
oui
oui
Spcif.
non
oui
oui
oui
oui
Vertic.,
specif.
Verticale Binaire Horiz.
Vertical,
specif.
2/4
3/4
4/4
2/4
Oracle DB2, Postgres Oracle,
Derby
Postgres,
mysql
oui
non
sql,
sparql
vertic.
2/4
DB2
Table 3.2 tableau comparatif des BDBO tudies (vertic : verticale, horiz: horizontale, specif :
spcifique)
ainsi que leurs nombres triplets sont indiqus dans le tableau 3.3. Notons que les outils proposs
par Oracle et DB2RDF ne chargent que des donnes au format N-TRIPLE (sujet, prdicat,
objet). En consquence, une conversion des donnes de notre banc dessai dfini en OWL vers
le format N-TRIPLE [152] fut ncessaire. Pour ce faire, nous avons utilis lAPI Jena appele
rdfcat.
Nos valuations ont t ralises sur un ordinateur (DELL) dot dun processeur Intel(R)
Xeon(R) CPU E31225 3.10 GHZ et dune mmoire vive de 4GO et dun disque dur de 500Go.
Les systmes de gestion bases de donnes (SGBD) utiliss sont : Oracle 11g pour la BDBO
Oracle, IBM DB2 9.6 pour SOR et DB2RDF et PosgresSQL 8.2 pour OntoDB, Jena et Sesame.
89
Person
Administrative
Staff
UnderGraduate
Studentt
Employee
Post Doctorate
Student
GraduateStudent
Faculty member
Is take
advisorOf
Is take
TeachingAssistantOf
Professor
SubClass
Assistant
Professor
Associate
Professor
Full Professor
Course
Graduate Course
Research Work
Teaching Course
Work
TeacherOf
Nombre dinstances
82415
516116
1052895
Nombre de triplets
100.851
625.103
1.273.108
4.2.1
Oracle offre trois moyens pour charger les ontologies et les donnes base ontologique dans
une base de donnes :
Bulk load (chargement global);
90
Donnes base
ontologique au
format
N-Triple
SQLLoader
-./01 213456.761
89- 67401
BulkLoader
BDBO Oracle
4.2.1.2 Batch load (chargement par lot). Cette mthode a lavantage de prendre en compte
les littraux de plus de 4ko. Il utilise une classe java (la classe BatchLoader) pour charger les
donnes au format N-Triple dun fichier.
4.2.1.3 Load into table (chargement par linstruction insert into table) Cest la mthode
classique dinsertion de donnes dans une base de donnes. Elle utilise les instructions du
LMD 19 (Insert, update) sur les tables de donnes smantiques. Elle est recommande pour le
chargement de faibles quantits de donnes. Cette mthode ncessite lutilisation du constructeur SDO_RDF_TRIPLE_S (voir exemple 2).
Pour nos tests, nous avons fait le chargement global (Bulk Load) et le chargement par lot
(Batch Load). Pour le premier, nous avons mesur le temps de chargements des donnes dans la
19. langage de manipulation des donnes
91
Pour insrer le triple (Bery, travaille, Oracle Techno), dans le modle MdLias, dont la table
smantique est tab_lias, on excute linstruction : INSERT INTO tab_lias VALUES (1000,
sdo_rdf_triple_s(MdLias, Bery,travaille, Oracle Techno));
4.2.2
SOR dispose dun module dimportation permettant le chargement des donnes ontologiques dans une base de donnes relationnelle. Ce module est form dun analyseur (parser)
OWL et de deux traducteurs (DB Translator et TBox Translator). Le parseur examine et charge
les fichiers OWL dans un modle EODM 20 . Le DB Translator charge les assertions ABox dans
la base de donnes. Le TBox Translator a deux tches. La premire consiste charger les
axiomes de la TBox dans le raisonneur DL et la seconde consiste faire des dductions de
donnes et de les insrer dans la base de donnes. Pour faire une valuation de performance
de SOR, nous nous sommes servis de lIODT 21 . Nous avons utilis comme SGBD, IBM DB2
Express 9. Nous avons charg les diffrents ensembles de donnes LUBM gnres dans SOR.
A la diffrence des chargements sous Oracle et DB2RDF, les donnes nont pas subi de transformation de format, elles sont restes au format OWL. Pour chaque ensemble de donnes, nous
avons mesur le temps mis pour son chargement.
4.2.3
A limage dOracle, DB2RDF accepte les donnes au format N-triple. Pour cela, nous avons
utilises les donnes converties en N-Triple. Puis nous avons utilis les fonctions pour le chargement fournies dans un environnement Eclipse, pour charger les donnes. Le temps de chargement est mesur pour chaque ensemble de donnes.
20. Eclipse Modeling Framework (EMF) Ontology Definition Metamodel
21. Integrated Ontology Development Toolkit - http://www.alphaworks.ibm.com
92
Bien quOntoDB soit prdispos prendre en compte tout formalisme dontologies ; il nest
actuellement quip que dun module de chargement dontologie PLIB. Vu le fait que lontologie que nous utilisons pour les exprimentations est reprsente en OWL, nous devons proposer
un moyen pour charger cette ontologie dans OntoDB. Une solution possible serait de faire un
programme permettant dobtenir une ontologie PLIB partir dune ontologie OWL et de la
charger dans OntoDB. Mais, vu la diffrence et la diversit des constructeurs et des oprateurs
des deux formalismes, lontologie obtenue de cette manire nest ni congruente ni quivalente
lontologie de dpart. Nous avons donc prfr dvelopper un module de chargement dOWL
dans OntoDB.
Ainsi, nous avons mis en place un module dimportation des ontologies OWL et leurs instances dans OntoDB. Ce module prend en paramtre une ontologie OWL et ses instances et,
aprs une analyse, il extrait les concepts (classes et proprits) et leurs instances, puis il cre
les tables correspondantes dans la BD et les remplit par les instances appropries. Nous nous
sommes intresss la partie canonique de lontologie OWL (les concepts primitifs).
De manire formelle, notre module est une application dappariement des concepts du formalisme dontologie OWL en concepts PLIB disponibles dans OntoDB. Si on note T, cette
application, T est dfinie par : T :< OOWL , Eowl >< OOntoDB , EOntoDB > o OOWL et EOWL
sont respectivement une ontologie et un concept de lontologie OWL, et o OOntoDB et EOntoDB
sont respectivement ontologie et lobjet(table, attribut ou valeur) dans OntoDB (au formalisme
dontologie PLIB). Soit C, P lensemble de classes et des proprits canoniques de lontologie
O en OWL. T se base sur deux considrations principales :
c C , T (OOWL , c) est une classe de PLIB dfinie dans OntoDB, par une table ;
p P, T (OOWL , p) est une proprit de PLIB attache Domaine(p) cest--dire, toutes
les classes qui sont domaines de la proprit p.
Il faut noter que cette correspondance nest pas parfaite et elle est irrversible du fait que
les concepts OWL non canoniques ne sont pas pris en compte et quil nest pas possible de
retrouver lontologie initiale par une application inverse. Notons galement que notre utilitaire
ne travaille que sur des ontologies acycliques. Cela est une exigence de modle dontologie
PLIB qui est au cur du systme OntoDB. Les ontologies PLIB ne comporte pas de cycles
cest--dire que lorganisation des classes et des proprits est telle quon ne peut pas avoir un
cycle. Or lontologie LUBM renferme des cycles. Nous avons rompu les cycles en transformant
les proprits de type objectproperty lorigine des cycles en datatypeproperty.
4.2.5
Pour les chargements de donnes dans les BDBO Jena et ssame, nous avons utilis un environnement Eclipse identique celui utilis pour SOR et DB2RDF. Pour chaque BDBO, nous
avons mis en uvre les modles et fonctions ncessaires pour le chargement. Etant donn que
93
Temps de chargement
Les temps moyens de chargement des diffrents jeux de donnes dans les BDBO tudies
sont consigns dans le tableau 3.4. La figure 3.4 prsente un histogramme de ces rsultats. Les
temps de chargement du systme OntoDB ny sont pas reprsents du fait quils sont dune
chelle de grandeur suprieure celles des autres BDBO.
Dataset
Oracle Batch
Oracle Bulk
IBM SOR
DB2RDF
Jena2
SesameBdsI
SesameBdsII
OntoDB
Lubm01
42
12
90
11
25
16
27
15975
Lubm05
222
55
590
53
188
158
231
72699
Lubm10
302
116
1147
109
558
391
522
146023
4.2.7
En termes de chargement, comme on le constate sur le tableau 3.4 et la figure 3.4, DB2RDF
et Oracle (Bulk) fournissent de trs bons rsultats, suivi dans lordre de SesameBdsI, Jena,
SesameBdsII, Oracle Bulk et SOR. OntoDB se montre plus lente que les autres BDBO tudies. Pour DB2RDF et Oracle (Bulk), cette performance peut sexpliquer par le fait que peu
doprations sont effectues sur des donnes linsertion dans ces systmes mais aussi par la
puissance des SGBD utiliss (oracle et DB2). La BDBO Ssame utilisant la table de triplets
se relve plus performant que Jena 22 par contre, Sesame utilisant une reprsentation binaire
donne de moins bonnes performances que Jena. En effet, Jena utilisant les tables property-table
et class-property-table prend du temps pour dispatcher les donnes dans les tables indiques.
La BDBO SOR prend assez de temps pour les transpositions du schma dontologies (T-Box)
et des instances ontologies (A-Box) en des tuples pour les diffrentes tables. Elle met aussi un
temps important pour faire les infrences des donnes au niveau de lontologie et des instances.
22. Jena version 2
94
4.3.1
Pour ce qui est des performances en termes de temps de rponses aux requtes, OntoDB
ragit mieux que les autres BDBO tudies. En effet, OntoDB, ayant stock des oid des champs
rfrencs, se sert de loprateur de rfrencement (DEREF) qui sappuie sur ces oid, vitant
ainsi certains calculs. En plus, OntoDB avec sa reprsentation horizontale des instances, effectue
moins doprations de jointure que les autres systmes parce que toutes les requtes portant sur
les proprits dune mme classe se ramnent des oprations de slection sur la ou les tables
relatives cette classe ; ce qui nest pas le cas dans les autres BDBO. La requte 4 de LUBM
en est une bonne illustration. Cette requte est compose de cinq triplets ayant tous un mme
domaine (Professor). Cette requte ne ncessite aucune jointure dans OntoDB mais demande au
moins quatre jointures dans les autres systmes. Nous pouvons aussi ajouter le fait que OntoDB
scanne moins de donnes que les autres systmes. Effectivement, une simple requte portant
sur la slection dun seul attribut (comme la requte 6) ncessite un parcours de toute la table
de triplets (cest le cas dans Oracle, SesameDbsI et DB2RDF) alors que dans OntoDB, on ne
parcourt que la ou les table(s) de lattribut en question (les tables UndergraduateStudent et
GraduateStudent pour la requte 6 de LUBM). Do le bon temps de rponse.
Oracle vient en second lieu suivi de Sesame. Nous remarquons que Sesame dans la reprsentation binaire (sesameBdsII) ragit un peu mieux que la reprsentation verticale (sesameBdsI).
Cette diffrence est bien marque la requte 14 o SesameBds1 parcourt toute la table de
triplets alors que SesameBds2 ne parcourt que la table typeof. SOR se relve lent car il ralise plusieurs jointures pour toutes les requtes. SOR donne des rsultats plus efficaces que
DB2RDF. Pourtant les deux utilisent le mme SGBD (DB2 9.6). La mauvaise performance
de DB2RDF peut trouver sa rponse dans la multitude des tables qui accompagne la table de
triplets et qui impliquent plusieurs jointures pour rpondre des requtes. En dpit de ses rsultats peu performants, SOR ralise un bon travail de dduction. Par exemple la requte 12
du LUBM, les autres BDBO ne retournent pas de rsultat, car il y a pas de dclaration explicite dinstance de Chair. Cependant, SOR a russi renvoyer des rsultats en se basant sur la
proprit headOf, puisquun individu instance de Professor est instance de Chair sil est la
tte dun Dpartement. Si on ajoute une rgle traduisant cette assertion des BDBO prenant en
compte "les rgles utilisateur" comme Oracle, elles fourniront aussi ces rponses. Mais ce nest
pas une rgle prdfinie dans ce systme. Nous notons que Jena et Sesame utilisent aussi des
moteurs dinfrence pour la dduction de donnes mais en utilisant des fichiers standard. Cette
option est encore difficile mettre en uvre dans les bases de donnes. Mais, il est possible de
faire appel un moteur dinfrence lors de chargement de donnes et de stocker dans la base de
donnes toutes les donnes y comprises celles dduites mais cela serait au dtriment des performances de chargement. Il nest pas exclu denvisager lutilisation dun moteur dinfrence lors
96
97
6. Conclusion
ckage, larchitecture et le type de requtes.
6 Conclusion
Dans ce chapitre, nous avons propos un modle unifi pour les BDBO et des critres de
comparaison pour pouvoir comparer les BDBO de manire globale et galement de manire
plus dtaille. Nous avons compar les caractristiques de quelques BDBO issues des milieux
acadmiques et industriels. Etant donn que les BDBO sont conues pour le passage lchelle
en termes de volumtrie des ontologies et des instances, il est galement important dtudier les
performances des BDBO actuelles. Tout comme cela a t fait pour les bases de donnes relationnelles, nous avons effectu une comparaison exprimentales des performances des BDBO
en termes de temps de chargement des instances ontologiques et de temps dexcution des requtes. En termes de temps de chargement, cette tude nous a permis de voir que les BDBO
issues du milieu industriel, aguerries dans les chargements de donnes (Oracle, DB2RDF) fournissent de meilleurs temps de chargement. Cette bonne performance sexplique aussi par le fait
que ces systmes utilisent pour les instances et pour les ontologies le modle de stockage vertical et larchitecture de type I. Ils ont donc peu de transformations effectuer lors des chargements de donnes. Nous avons constat que les BDBO horizontales sont lentes en chargement,
cela est d aux multiples oprations pour extraire les donnes des diffrentes tables et aussi pour
tablir des liens smantiques entre les donnes et les concepts ontologiques.
En termes de temps dexcution des requtes, les rsultats sont divers : pour certaines requtes, certaines BDBO fournissent de meilleurs temps dexcution que dautres BDBO et
pour dautres requtes, leurs temps dexcution sont moins bons. Tout dpend de la structure
de la requte (mono-triplet, pluri-triplets, etc.) Certaines BDBO comme IBM SOR sont satures cest--dire quelles contiennent les donnes initiales et les donnes infres. Dautres ne
contenant que des instances fournies sont dites non satures. Ces dernires peuvent faire usage
dun moteur dinfrence pour faire de dduction de donnes. Il existe des BDBO qui donnent
lutilisateur la possibilit de dfinir sa base de rgles de dduction. Les rsultats de certaines
requtes dpend du raisonnement offert par la BDBO.
Ayant identifis quelques facteurs influenant les performances des BDBO, au prochain
chapitre, nous proposerons un modle de cot (Chapitre 4) qui prendra en compte les diversits
de BDBO mais aussi les types de requtes.
99
Chapitre
Sommaire
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.1
3.2
3.3
3.4
3.5
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
101
1 Introduction
Les modles de cot reprsentent une composante importante des bases de donnes. Ils ont
t utiliss par les diffrentes gnrations de bases de donnes pour rpondre des questions
cruciales. La premire utilisation des modles de cot concernait loptimisation de lexcution
de requtes. Historiquement, les optimiseurs de requtes des SGBD utilisaient une approche dirige par des rgles (Rule-based Approach). Cette approche utilise un ensemble de rgles bien
dfinies comme excuter les oprations de slections avant les oprations binaires comme la
jointure. Avec lapparition des schmas de bases de donnes impliquant un nombre important
de tables (relations), cette approche a t substitue par des optimiseurs dits dirigs par des modles de cot (Cost-based Approach) [80, 156]. Cette approche est utilise actuellement dans la
majorit des SGBD commerciaux. La deuxime utilisation des modles de cot concerne le problme de la conception physique. Comme nous lavons dj voqu au chapitre 3, durant cette
phase un ensemble de structures doptimisation (comme les vues matrialises, les index, le partitionnement, etc.) est slectionn. Vue la taille importante de lespace de recherche de chaque
problme li la slection dune ou plusieurs structures doptimisation, des mta-heuristiques
(par exemple, les algorithmes gntiques [116] ou le recuit simul [157]) diriges par des modles de cot ont t proposes. La troisime utilisation des modles de cot concerne les tapes
de la phase de dploiement des bases de donnes sur des plateformes distribues et parallles
[158].
Un modle de cot est gnralement dvelopp en fonction des composantes principales
dun SGBD [159, 160], do sa dcomposition en trois parties : (1) le cot des entres-sorties
(IO) pour lire et crire entre la mmoire et le support de stockage comme les disque, (2) le
cot CPU et (3) le cot COM de communication sur le rseau (si les donnes sont rparties sur
le rseau). Ce dernier est gnralement exprim en fonction de la quantit totale des donnes
transmises [161, 162]. Il dpend de la nature de la plateforme de dploiement.
Un modle de cot peut tre vu comme une fonction ayant des entres et une sortie. Les
entres reprsentent (i) le schma dune base de donnes (entrept de donnes) gre par un
SGBD utilisant un modle de stockage et une architecture donns, (ii) une charge de requtes,
(iii) la plateforme de dploiement (machine centralise, distribue, parallle, cloud, etc.). Pour
chaque entre, un ensemble de paramtres lui sont associs. Nous distinguons deux catgories
de paramtres : les paramtres calculs (ex. les facteurs de slectivit des prdicats) et les
paramtres non calculs comme la taille des champs, la taille du support de stockage, etc.
Lobtention des paramtres calculs se fait laide des formules mathmatiques et dhypothses
comme par exemple les chemins daccs aux donnes. Pour la partie requte, le calcul de ses
paramtres dpend de la politique de traitement des requtes sur la plateforme de dploiement.
Ces entres reprsentent clairement les entres dun problme de conception physique que nous
avons dtailles dans le chapitre 2. En sortie, nous aurons un cot final dexcution dune charge
de requtes. Cette valeur de cot sera exploite par les algorithmes selon le besoin.
102
Signification
nombre de pages ncessaires pour stocker la table R
nombre de n-uplets de la table R
taille de la mmoire en nombre de pages
taille de la page systme
nombre de tuples de la table R par page
facteur de slectivit dindex ou dun triplet
taille dun n-uplet de la table R
taux de remplissage de la table R
nombre de valeurs distinctes de lattribut a dans la table R
cot de parcours dindex I en E/S
Table 4.1 Les paramtres du modle de cot.
(?idn; type; Cn) (?idn; p1n; ?val1n) (?idn; pnn; ?valnn) [FILTER()]
Exemple 3
La requte permettant davoir les tudiants inscrits dans des universits franaises peut tre
exprime dans ce temple comme suit:
(?x type Etudiant ) (?x estInscrit ?y)
(?y type Universit)(?y pays France)
Chaque ligne porte sur une classe et ses proprits. Ce template a t dfini pour que les
requtes puissent tre exprimes dans la plupart de langages dinterrogation des ontologies
comme SPARQL, SeRQL, OntoQl, RQL, etc. Ainsi notre modle de cot nest pas seulement
applicable un seul langage.
106
Dfinition 1
La slectivit dun patron de triplet t note sel(t) est le nombre de triplets correspondant au
patron de triplet divis par le nombre total de triplets [176, 171].
Daprs Stocker et al. [171], elle se calcule suivant la formule :
sel(t) = sel(s) sel(t) sel(o)
o sel(s), sel(p) et sel(o) sont respectivement la slectivit du sujet, du prdicat et de lobjet du
triplet. Ces slectivits sont dfinies comme suit :
Pour tout composant x qui est variable : sel(?x) =1;
Pour le composant sujet s :
1
o R est le nombre total de ressources dans la table de triplets
R
Pour le composant proprit p :
sel(s) =
Tp
T
o T p est le nombre total de triplets ayant p comme proprit et T est le nombre total des
tuples dans la table de triplets.
Pour le composant objet o : on utilise un histogramme de type equal-width qui prsente
la distribution des valeurs par proprit (son co-domaine). Le co-domaine de la proprit
p est divis en B classes (p, oc ).
(
sel(p, oc )
si p est dfinie
sel(o) = P
pP sel(pi , oc ) sinon.
sel(p) =
107
3.3.2
Kaoudi et al. [173] ont dfini la slectivit de jointure de deux patrons de triplet conjonctifs
TP1 et TP2 comme tant le nombre de triplets rsultant de la jointure de TP1 et TP2 (joinP1,T P2)
Card(TP1,TP2)) normalis par le nombre total des triplets (T) au carr : jsel = joinCard(T
.
T2
Cette formule na pas t adapte une implmentation relationnelle des triplets. Elle implique le calcul de la jointure de TP1 et TP2. Etant donn que le rsultat dune excution dun
patron de triplet est une table, nous choisissons utiliser lapproche relationnelle pour ce calcul [154]. Supposons que R1 et R2 soient des relations correspondant aux rsultats des patrons
de triplet TP1 et TP2. Soit card(R1 Z R2) la taille de la jointure de R1 et R2.
||R1|| ||R2||
max(V(R1, ?x), V(R2, ?x))
o ||R1|| et ||R2|| sont le nombre dinstances de R1 et de R2 respectivement, ?x est une variable partage par TP1 et TP2, et V(Ri,?x) est la taille du domaine des attributs ?x de la relation Ri. En dautres termes, ||Ri|| est le nombre de triplets rpondant au patron de triplet TPi
(||Ri|| = sel(T P) T, o T est le nombre total de triplets), et V(Ri,?x) est le nombre des valeurs
distinctes que la variable ?x peut prendre dans la solution de TPi. Pour le calcul de (V(Ri, ?x)),
on peut distinguer deux cas. Si TPi a une variable, alors V(Ri,?x) est gal au nombre de solutions de la variable ?x, cest--dire V(Ri, ?x) = ||Ri||. Pour le second cas o TPi a deux variables,
pour connatre la taille du domaine des variables apparaissant dans la requte, on utilise un histogramme qui, pour chaque patron de triplet, donne le nombre des valeurs distinctes de chaque
composant ainsi que le nombre des valeurs distinctes des combinaisons de deux composants
[173].
card(R1 Z R2) =
Comme lestimation de la slectivit de patron de triplet pour des BDBO de type II et III se
ramne lestimation de slectivit prdicat comme dans les BD relationnelles, nous prsentons
la section suivante la slectivit des prdicats.
23. triplet de la forme(?s, p, o)
108
1
card(Ai (R))
max(Ai ) valeur
max(Ai ) min(Ai )
valeur max(Ai )
max(Ai ) min(Ai )
Un prdicat complexe est un prdicat compos de plusieurs prdicats relis par des oprateurs de conjonction (ET) et de disjonction (OU). Grce la forme normale, la slectivit
de prdicats complexes se calcule de proche en proche. Pour les prdicats conjonctifs, elle se
calcule selon la formule :
sel(pred1 ET pred2 ) = sel(pred1 ) sel(pred2 |pred1 )
109
Etudiant
inscrit
Universit
nom
nomU
dateN
adresse
o Tcp sont des tables correspondantes aux classes de la proprit p du triplet de la requte. Sil y a un index dfini sur le prdicat de slection,
X
(P(index) + sel |T cp|)
cout(q, bdbo) =
T cp domaine(p)
Approche
join(Tp1,Tp2),
de proprit pi
jointure retarde
2 |T | + 2|t1| + |t2| (1 +
|t1|/M)
|T | + |T | |T |/M
|T cp1|/M |T cp2|)
jointure retarde
jointure la BDR
|T |(sel(t1) + sel(t2)) +
P(I1)+P(I2)+|t1|+|t1|
|t2|/M, sel(t) est la slectivit des triplets
|T| +|T|*|T|/M
binaire
Tpi Table
Approche
horizontale
join(Tcp1,Tcp2),
Tcpi
tables des classes
Algorithme Nested loop
sans index
Approche verticale join(T,T),
T est la table de triplets
Approche
binaire
join(Tp1,Tp2), Tpi Table
de proprit pi
Approche
horizontale
join(Tcp1,Tcp2),
Tcpi
tables des classes
jointure retarde
jointure la BDR
2 |T | + 4 (|t1| + |t2|)
6 |T |
3 (|T p1| + |T p2|)
P
T cpdom(p)
113
Cardinalit
100838
979
1874
5916
0
15
7790
17270
31
14072
18213
2414
239
0
176
146
0
0
125
0
15972
540
8330
8330
Table 4.3 Statistiques des instances ontologiques utilises pour lapplication du modle de
cot.
Comme attendu, les rsultats montrent que lexcution dune requte dauto-jointure de la
table de triplets avec une jointure la BDR ncessite plus dentres-sorties que son excution
effectuant dabord les slections suivant les motifs de triplets suivies de jointures (jointure retarde).
114
Type de requte
A.V jointure
retarde
A.V jointure
la BDR
Approche
binaire
Requte 6
Lubm
Requte 4
Lubm
Requte 2
Lubm
Slection
Nomo-triplet
Slection
pluri-triplets
Jointure (hash
join)
9168
9168
1138
Approche
horizontale
10289
21308
137520
60864
121
23188 1
65024
195246
18813
Table 4.4 Cots en termes dE/S selon le modle de cot. (A.V: Approche verticale)
5 Conclusion
Nous nous sommes intresss dans ce chapitre aux modles de cot dans les bases de donnes base ontologique. Un modle de cot permet destimer le cot dexcution dune requte
sur une base de donnes. Cest un composant trs utile pour un optimiseur de requtes qui est
un maillon trs important pour tout SGBD [180]. Il permet ce dernier dvaluer les diffrents plans dexcution dune requte et de choisir le plan de moindre cot. En effet, un SGBD
peut valuer une requte de plusieurs manires (plans dexcution). Chaque plan dexcution
est constitu dune suite doprations excuter sur les tables et sur les rsultats intermdiaires
pour rpondre la requte. Loptimiseur de requtes se charge de choisir parmi les plans dexcution possibles dune requte, celui dont le cot est le moindre. Le cot de lexcution des
diffrents plans dexcution dune requte peut considrablement varier. Ainsi, il est trs important davoir un optimiseur de requtes efficace qui peut identifier le plan optimal - ou le
plan proche de loptimal - et viter les plans rellement mauvais. Ceci nest pas une tche triviale parce que le cot dun plan peut varier en fonction de facteurs tels que la distribution
de donnes sous-jacente, lorganisation physique des donnes sur le disque, la taille du buffer
(tampon), lordre de tri des donnes, etc. Le meilleur plan pour un cas peut tre un mauvais
plan pour un autre cas. Pour choisir le meilleur plan pour une requte, un optimiseur de requte
numre un certain nombre de plans candidats selon une stratgie dexploration de lespace des
plans, en utilisant des techniques algorithmiques telles que la programmation dynamique [181].
La qualit du plan choisi dpend clairement de la prcision du modle de cot. Un modle de
cot inexact peut entraner le choix dun mauvais plan pour une requte car loptimiseur peut
incorrectement estimer le cot de ce plan. Estimer le cot des oprateurs dune requte ncessite une estimation de la slectivit de ces oprateurs. Pour estimer une slectivit, il faut la
connaissance de la taille des rsultats et des tailles des entres. La taille de la sortie dun oprateur est dtermine par sa propre slectivit tandis que les tailles des entres dun oprateur
sont dtermines par les slectivits des oprateurs situs en dessous de loprateur dans le plan
dexcution de la requte.
Nous avons propos un modle de cot pour les BDBO en prenant en considration la diversit montre au chapitre 1. Ce modle de cot est donc fonction de larchitecture et du modle
de stockage utilis. Pour les architectures de type II et type III, nous notons une augmentation
dans le modle de cot par rapport larchitecture de type I dont le modle de cot est identique
celui de bases de donnes relationnelles.
Une mise en application de ce modle de cot nous a permis de voir quil ne se dgage
pas un type de BDBO qui est efficace dans le traitement de tous les types de requtes. Cela
confirme le constat fait au chapitre 3, sur ltude des performances des BDBO en termes de
temps dexcution des requtes.
Lintrt de notre modle de cot est de donner au concepteur et ladministrateur la possibilit de quantifier ses requtes et ventuellement de choisir le type de BDBO appropri pour
116
5. Conclusion
une charge de requtes usuelles.
Aussi notre modle de cot sera-t-il exploit dans des problmes de conception physique de
BDBO pour le choix de structures doptimisation. Le prochain chapitre propose des approches
de dfinition et de slection de vues matrialises dans de BDBO. Notre modle de cot aura
son application dans lune de ces approches.
117
Chapitre
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Prliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2.1
2.2
3.2
Exprimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.1
6.2
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
119
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
1 Introduction
Dans les chapitres prcdents, nous avons tudi les BDBO et la conception physique dune
manire spare. Lobjectif de ce chapitre est de les confronter pour voir limpact de chacun sur
lautre. Les BDBO ont apport deux caractristiques principales : la prsence de lontologie
dans le SGBD et la diversit concernant les modles de stockage et larchitecture du SGBD
cible. La conception physique est lune des phases cls du cycle de vie de la conception de bases
de donnes, durant laquelle des structures doptimisation sont slectionnes. Pour confronter les
deux mondes, nous considrons une seule structure doptimisation savoir les vues matrialises. Rappelons quelles sont des structures redondantes du fait quelles ncessitent un espace
de stockage et un cot de maintenance. Le processus de slection des vues matrialises est
souvent ralis par des approches diriges par des modles de cot. Notre choix de cette structure est principalement motiv par le fait quune vue matrialise peut tre indexe [128] ou
partitionne [89, 129]. Par ailleurs, les vues matrialises optimisent un large spectre doprations (slection, projection, jointure et agrgation), contrairement aux autres structures qui ne
sont efficaces que pour certaines catgories de requtes.
Le problme de slection des vues matrialises dans les BDBO reprsente un plus grand
dfi que dans le cas gnral car plusieurs formalisations de ce problme sont possibles en fonction de la spcificit de chaque BDBO. Pour illustrer cela, considrons les diffrentes variantes
du problme. Soient:
A = {A1 , A2 , .., An } lensemble de toutes les architectures possibles;
SM = {S M1 , S M2 , .., S Mm } lensemble des modles de stockage existants ;
Part = {Part1 , Part2 , .., Partn } lensemble des parties quun SGBD peut avoir.
Ainsi, le nombre de possibilits de slection des vues matrialises P est donn par lquation suivante:
P = card(A) (card(SM))card(Part) + 1
(1)
2. Prliminaires
base de donnes. (ii) une slection impose, qui suppose lexistence pralable dune BDBO.
Cette slection est similaire celle faite dans le contexte des entrepts de donnes. Cette approche a t largement suivie par les chercheurs pour slectionner des vues matrialises dans
les BDBO [182, 142]. Cette approche suppose que la plateforme de dploiement prexiste, en
consquence, elle ne peut pas tre utilise dans le cadre de simulation. Par simulation nous entendons le cas o une entreprise cherche un SGBD pour ses applications et souhaite faire appel
un simulateur pour choisir sa plateforme de dploiement. Pour rpondre ce besoin, une troisime approche existe, appele approche de simulation, dans laquelle le processus de slection
des vues matrialises considre la diversit des BDBO.
Dans ce chapitre, nous dtaillons deux approches : approche conceptuelle et approche simule. Pour chaque approche, une formalisation de son problme est donne. Nous commenons
par donner quelques dfinitions et concepts afin de faciliter la prsentation de lensemble des
contributions.
2 Prliminaires
Dfinition 3 (Triplet RDF)
Une requte SPARQL est une suite de conjonctions des patrons de triplet. Elle est considre comme une suite de jointures entre les relations rsultant de lexcution des patrons
de triplets (si aucune variable nest partage par les patrons de triplets, on a des produits
cartsiens).
Il faut noter quune requte telle que dfinie est appele aussi patrons de requte ou encore
patron lmentaire de graphe (Basic graph patterns). Nous utiliserons de manire indiffrente
121
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
ces appellations. Dans ce qui suit, nous ne traiterons que des requtes SPARQL conjonctives
sans Filter et sans patron de triplet optionnel. Les patrons de triplets de nos requtes ne prsentent pas non plus de variable la position du prdicat. Nous prcisons que les requtes
SPARQL conjonctives sont celle dont les patrons de requtes partagent au moins une variable.
Nous utilisons le symbole " " pour dsigner les jointures dans des requtes quand les patrons
de triplets sont identifis par des noms comme t1 , tp1 , tp2 , ...
Dfinition 6 (Mapping de variables ou solution mapping)
Un mapping de patron dinstance P est une combinaison dun mapping dinstances RDF s,
et dun mapping de variable , tel que P(x) = (s(x)).
Dfinition 8 (Solution pour un patron lmentaire de graphe)
Soit BGP un patron lmentaire de graphe et G un graphe RDF. est une solution pour BGP
sur G quand il existe un mapping de patron dinstance P tel que P(BGP) est un sous-graphe
de G et est une restriction de P aux variables de la requte dans BGP.
Il faut noter quun mapping contient des valeurs pour les variables et les nuds vides alors
quune solution ne retient que les valeurs des variables. Deux solutions sont dites compatibles
si elles ont des valeurs identiques pour les mmes variables. Les oprateurs de lalgbre de
SPARQL oprent sur des multi-ensembles (ou des squences) des mappings de solutions.
Lvaluation des BGP produit donc un multi-ensemble de mappings de solution o chaque
est une solution pour le BGP. Elle porte sur une expression algbrique de la requte.
2. Prliminaires
Figure 5.1 Arbre de requte pour une BDBO Figure 5.2 Arbre de requte pour une BDBO
Verticale
binaire
cun de ces nuds intermdiaires est considr comme une relation rsultant de lexcution de
lopration sur ses oprandes.
Exemple 5
Soit q une requte constitue de deux triplets t1 et t2 cest--dire, q = t1 t2. Les arbres de
requtes de q dans les reprsentations verticale et binaire sont reprsents sur les figures 5.1
et 5.2.
Compte tenu du fait que le langage SPARQL est indpendant des diffrents types de BDBO
et que les requtes SPARQL sappliquent sur nimporte quel type de BDBO, pour prsenter nos
arbres de requtes, nous utilisons directement les patrons de triplets. Ces derniers seront donc
des feuilles de nos arbres. Cela nous permet de faire une abstraction des diffrents schmas de
BDBO. Ainsi, pour tous les types de BDBO, larbre de la requte prcdente q (Exemple 5)
est donn sur la figure 5.3.
t1
t2
123
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
t3
q0
q2
t2
t1
t4
(t) =
(2)
select * from TabProp(t) where condB si BDBO binaire
q0
t:
t;
t<
t=
t3
t1
t2
t4
q2
Figure 5.5 Plan unifi des requtes avec les nuds de slection.
Nous avons prsent dfini les notions ncessaires pour prsenter nos approches de slection des vues matrialises.
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
des requtes en toiles (cest--dire une requte dont le graphe est form dun nud central et
de ses voisins).
Il est vrai que les requtes SPARQL ne font pas apparatre clairement les classes vises
comme les requtes SQL le font pour leurs tables, mais on peut identifier ces classes travers
les proprits dans les patrons de triplets. En fait, tout triplet ou patron de triplet ti porte sur au
moins une classe : la classe du domaine de sa proprit.
Lide fondamentale est que quand une mme variable x apparat comme sujet dans plusieurs triplets, (il existe des jointures entre les relations rsultant de lexcution des patrons
de triplet travers la variable x), en matrialisant la classe de x, ces patrons de triplet ayant x
comme sujets, seront excuts sur cette classe, et ainsi le nombre de ces jointures sera rduit.
Cette approche visant donc liminer un certain nombre de jointures est susceptible dacclrer
lexcution des requtes. Chacune des classes dcouvertes est donc une vue matrialiser. Nous
prsentons ci-dessous notre technique didentification de ces classes.
q
t1^t2
Dom(p1, p2)
t>
t2
Dom(p1)
Dom(p2)
Algorithm 2 classIdentifier(q)
1: Entre : q :une requte
2: Sortie : C(q) : ensemble de classes impliques dans q avec leurs proprits
3: Dbut
4: C(q) = vide
5:
pour toute variable var de q faire
6:
pour les triplets o var apparait faire
7:
si var est sujet de triplet ti et proprits pi dfinies faire
8:
C(q) = C(q) (i Dom(pi ))
9:
Ajouter pi comme proprit chacune de classe de Dom(pi )
10:
si var est objet de triplet ti dont si est dfini faire
11:
C(q) = C(q) classe(s) //classe(s) : les classes de s
12:
Ajouter pi comme proprit chacune des classes de s
13:
si var est proprit de triplet ti et sujet variable faire
14:
dterminer pi
15:
C(q) = C(q) (Dom(pi ))
16:
Ajouter Pi a chacune de classe de Dom(pi )
17:
finPour
18:
finPour
19: Retourner C(q)
20: Fin
127
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
Partant du schma dontologie, de la charge de requtes et des rsultats de lidentification, nous avons dfini deux matrices dusage : Matrice dusage des classes (MUC) et matrice
dusage des proprits (MUP). La matrice dusage de classe prend en ligne des requtes et en
colonne des classes. Elle nous indique si une requte donne utilise une classe donne ou non.
La matrice dusage de proprit nous renseigne sur lutilisation de chaque proprit par les
requtes. Ces deux matrices sont dfinies par les quations 3 et 4:
MUC i, j =
MUP i, j =
(3)
(4)
Ces deux matrices permettent au travers des algorithmes suivants de dfinir toutes les vues pour
une charge de requtes donne. Lalgorithme ViewDiscover prend un schma dontologie et une
charge de requtes et renvoie la liste des vues matrialiser. Pour chaque requte, la mthode
ClassIdentifier est appele pour identifier les classes et les proprits. A la fin de lidentification
des classes et des proprits, les matrices dusage sont cres. Pour chaque classe de lontologie,
sil existe une requte qui utilise cette classe, celle-ci est prise comme une vue et on lui associe
ses proprits grce la mthode findProperties. Cette dernire considre toutes les proprits
lies la classe traite (notamment par la relation "RDFS:Domain"). Pour chaque classe, sil y
a une requte i qui utilise cette proprit p (cest--dire, MUP[i,q]=1), alors cette proprit est
ajoute comme un attribut la vue.
128
Algorithm 4 findProperties
1: Entre : c : une classe
2:
MUP : matrice dusage des proprits
3: Sortie : L : liste de proprits de c
4: Dbut
5:
L=
6:
Pour p {proprit de c} faire
7:
sil existe q Q tel MUP[q, p] = 1 alors
8:
L = L {c}
9:
finsi
10:
finpour
11:
Retourner L
12: Fin
La figure 5.8 rsume les diffrentes tapes de mise en oeuvre de lapproche conceptuelle.
Cette dernire est une approche base sur les rgles ( rule-based approach, approche ODT P),
cf. chapitre 2) et la rgle utilise est lusage des classes et des proprits par les requtes dfinies
au niveau conceptuel. Rappelons que dans les annes 90, quelques efforts ont t tablis pour
dfinir des langage de requtes au niveau conceptuel, on peut citer le cas du langage ConQuer
[189].
129
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
Exemple 7
130
4. Approche impose
4 Approche impose
Nous commenons par prsenter la formalisation du problme. Etant donn :
une BDBO ayant une architecture et un modle de stockage donns;
une charge de requtes SPARQL Q, o chaque requte a une frquence daccs;
une contrainte de stockage S.
Le problme de slection de vues matrialises consiste slectionner un ensemble de vues qui
minimise le cot dexcution de la charge de requte et respecte la contrainte de stockage S.
Le peu de travaux sur la slection des vues matrialises dans le contexte des BDBO utilisent cette approche. Goasdou et al. [182] ont propos une dmarche de slection de vues dans
BDBO qui utilise la table des triplets comme modle de stockage. Leur dmarche est base sur
la notion dtat inspire du travail de Theodoratos et Sellis [190] sur les vues matrialises dans
les entrepts de donnes. Un tat est une paire <V, R> o V est un ensemble de vues et R un
ensemble de rcritures de requtes sur ces vues. Lobjectif est de trouver un tat qui minimise
le cot dexcution de requtes, lespace de stockage et le cot de maintenance de vues mais
sans contrainte de stockage. Ils utilisent une structure multi-graphe comme celle propose par
Ullman [191] pour reprsenter les requtes et la technique de dcomposition de graphe propos
par Wong et Youssefi [192] enrichie de nouveaux oprateurs. Dans le multi-graphe, chaque patron de triplet est reprsent par un nud. Un arc entre deux nuds indique la jointure entre ces
nuds. Un arc rflexif cest--dire, qui boucle sur un mme nud, symbolise une opration de
slection. A ltat initial, chaque requte est considre comme une vue. Le multi-graphe de la
charge de requtes de lexemple 7 est reprsent sur la figure 5.9.
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
Les principales oprations mises au point pour dfinir les vues candidates (les tats) sont
View Break (VB), Selection Cut (SC), Join Cut (JC) et View Fusion (VF). Les trois premires
effacent les prdicats des vues et peuvent diviser une vue en deux, augmentant le nombre de
vues et la dernire fusionne des vues, rduisant ainsi le nombre de vues. Par exemple, une
opration Join Cut (JC) sur la vue V1 de la figure 5.9 produit les vues V3 et V4 prsentes sur
la figure 5.10.
A chaque tat est associ un cot prenant en compte lespace mmoire pour toutes les vues,
le cot de rcriture des requtes et le cot de maintenance des vues matrialises. Cette approche cherche valuer les requtes avec des oprations dassignation, de slection, de projection et des boucles et viter les oprations de jointure. Les jointures sont effectues plutt
travers les boucles.
Castillo et Leser [142] ont propos une approche pour la slection des vues sur des donnes
RDF pour une charge de requtes SPARQL donne. Cette approche suit la mthode de slection dindex propose par Chaudhuri et Narasayya [193] pour les bases de donnes classiques.
Les donnes RDF utilises sont reprsentes dans une table de triplets. Lide est de dcouvrir
les patrons de triplets partags pour tre utiliss comme index afin damliorer les temps de
rponses. En considrant lensemble de requtes comme un espace de recherche initial, lapproche de Castillo et Leser [142] tend cet espace en analysant chaque requte de la charge et
en dgageant toutes les combinaisons des patrons de triplets connexes dune certaine longueur
(>=k) et en les ajoute cet espace de recherche appel espace des index candidats.
Cette approche divise le problme en trois tapes: la gnration des ensembles dindex candidats, lvaluation de ces ensembles et la slection itrative des index. Les informations dindex
sont extraites des patrons de triplet et les ensembles dindex sont gnrs. Une analyse de leur
frquence est effectue. La stratgie de "query containment" est employe pour dterminer quels
sont les patrons de triplet qui sont inclus dans dautres. Cette approche utilise comme contrainte
le nombre maximal de vues (index) que lon peut crer mais ne prend pas en compte lespace
de stockage des index. Le modle de cot repose sur un nombre doccurrences potentielles des
index candidats.
132
5. Approche simule
5 Approche simule
La formalisation du problme dans cette approche est quasi similaire la prcdente, la
diffrence tant quelle considre plusieurs variantes de BDBO. Pour slectionner des vues
dans chaque variante, nous considrons les tapes suivantes :
1. identification des vues matrialises candidates ;
2. annotation des candidats par des fonctions de cot qui dpendent des caractristiques de
la base de donnes cible ;
3. proposition des algorithmes de slection.
Ces tapes sont dtailles dans les sections suivantes.
133
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
font rfrence aux mmes triplets, on harmonise les variables sur toute la charge de requtes. Par exemple, (?x undergraduateFrom ?u) et (?p undergraduateFrom ?z) sont deux
patrons de triplet rfrenant le mme ensemble de triplets; on doit identifier que la variable ?x correspond la variable ?p et la variable ?u ?z.
extraction des nuds de slection : cette opration est la premire opration sur les donnes. Elle reprsente lexcution des patrons de triplet sur une BDBO. Les nuds correspondants sont en fait lensemble de triplets rpondant chacun des patrons de triplet.
extraction de nuds de jointure : pour chaque requte, nous dgageons les diffrents
nuds de jointure. Nous rappelons quune jointure est une conjonction des deux patrons
de triplet partageant au moins une variable. Ces nuds sont crs sur les nuds de slection des patrons de triplet impliqus. Nous avons opt pour les arbres de type left-join
pour la premire requte.
dfinition des nuds de projection que nous considrons comme des rsultats de requtes.
Notre approche de construction du graphe unifi suit celle qui a t propose et exprimente
dans notre laboratoire [188]. Contrairement cette dernire, nous ne considrons pas plusieurs
liens entre deux nuds donc nous nutilisons pas un hypergraphe. Nous obtenons un simple
graphe qui est notre plan unifi. Par exemple pour notre charge de requtes de lexemple 7,
nous obtenons des graphes unifis dont un exemple est donn sur la figure 5.11. Il est question
q1
q2
5. Approche simule
nombre de calculs. En effet, pour une charge de N requtes, il faut crer et comparer N graphes
unifis possibles.
5.1.1
Une fois le plan unifi obtenu, nous procdons au processus dannotation des nuds par des
fonctions cot reprsentant le cot de construction et le cot daccs.
5.1.1.1 cot de construction. Le cot de construction dun nud est le cot algorithmique
du nud tel que dfini au chapitre 4. Ce cot est considr aussi comme le cot de mise jour
du nud ou encore le cot de maintenance (on suppose que les mises jour sont compltes et
faites de manire priodique, cest--dire par rcration des nuds). On note C_cout(v), le cot
de construction du nud v.
5.1.1.2 cot daccs. Le cot daccs dun nud est dfini comme tant la taille du nud.
Par simplification, on le dfinit comme tant le nombre de tuples du nud. On le note A_cout(v),
pour un nud v. Le calcul de ce cot dpend du type de nud (nud de slection ou nud de
jointure)
sel(T P) nbrT uple(T T ) si la BDBO est verticale avec TT la table des triplets
A_cout =
nbrT uple(T abProp(T P)) si la BDBO est binaire
(5)
o nbrTuple(TP1) et nbrTuple(TP2) reprsente le nombre de tuples dans chaque relation correspondant aux rsultats des traitements des patrons de triplet TP1 et TP2, jsel est leur slectivit
de jointure.
135
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
5.1.1.3 cot de requte. Le cot de requte est fonction des vues matrialises. Si aucune
vue nest utilise, le cot de la requte est le cot de lalgorithme utilis pour calculer la requte.
Lalgorithme suivant permet de calculer le cot des requtes en prsence dun ensemble de vues
matrialise (on utilise une jointure par hachage).
Algorithm 5 A_cout
1: Entre : q : requte
2:
M : ensemble de vues matrialises
3: Sortie : cout : cot de la requte q
4: Dbut
5:
si (M est vide) retourner C_cout(q);
6:
sinon
7:
si q a des jointures alors
8:
si( dernierejointure de q M)
9:
retourner A_cout(dernierejointure)
10:
sinon
11:
retourner 3*(cout(partieG, M) + cout(partieDroite, M));
12:
finsi
13:
sinon
14:
si (dernireSelection de q M)
15:
retourner A_cout(derniereSelection)
16:
sinon
17:
retourner C_cout(q)
18:
finsi
19:
finsi
20: Fin
5.1.1.4 Cot total de la charge. Le cot total de la charge de requtes est la somme de cot
de chaque requte multipli par la frquence de la requte.
cout_total =
X
qQ
f req(q) cout(q, M)
(6)
5.1.2
Algorithmes de slection
Etant donn que chaque nud est une vue potentielle et que nous disposons des caractristiques de chaque nud, il est question de slectionner les vues qui minimisent le cot total de
la charge des requtes et qui respectent la contrainte de stockage.
136
5. Approche simule
Si la contrainte de stockage nexistait pas, lalgorithme de slection de vues dans un MVPP
de Yang et al. [195] nous suffirait pour avoir cet ensemble de vues optimal. Mais vu le fait que
cet algorithme ne prend pas en compte la contrainte de stockage, et que le problme de slection
est un problme de sac dos [196], nous avons utilis un algorithme glouton et un algorithme
gntique pour la slection de vues.
5.1.2.1 Algorithme gntique. Les algorithmes gntiques [115] sont inspirs de lvolution des espces naturelles. Ils reproduisent le modle dvolution en vue de trouver une solution optimale un problme. Ils visent faire voluer une population en vue damliorer ses
individus. Ils considrent une population et non un individu. Ainsi, ils donnent un ensemble de
solution et non une solution. Ces solutions peuvent tre diffrentes mais de qualit quivalente.
Notre algorithme utilise la bibliothque JeneGA dveloppe en Java ddie aux algorithmes
gntiques et disponible sur sourceforge.net/projects/jenes/ [197]. La particularit de
cette dernire est quon lui donne le codage reprsentant un individu dune population, la fonction fitness pour valuer la qualit de lindividu, les critres de croisement et de mutation, et
comme rsultat, elle gnre la solution demande. La figure 5.12 illustre notre dmarche ( base
dun algorithme gntique) de rsolution de notre problme de slection de vues matrialises.
Nous considrons pour chaque vue, lespace quelle occupe et le profit quon obtient si elle
est la vue seule qui est matrialise. Lespace occup est gal au cot daccs comme voqu
ci-dessus (5.1.1.2). Le profit dune vue v est dfini comme la diffrence entre le cot total de la
charge sans vue et le cot total de la charge si la vue v est matrialise.
pro f it(v) =
X
qQ
f req(q) cout(q, )
X
qQ
f req(q) cout(q, M)
(7)
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
Charge de Requtes {QB, , QC}
Construction dun plan unifi
E FGHIJ KLMINILOJ
?@
?@
t1
?A
t2
t4
t3
Taux de Mutation
& Taux de Croisement
Notre codage
1
. 1
JeneGA
Fonction fitness
Un ensemble de vues matrialises
{VB, , VD}
5.1.2.2 Algorithme glouton. Notre algorithme glouton utilise la notion de bnfice par
unit despace (BPS) [199]. Le BPS est le rapport entre le bnfice quapporte une vue et lespace occup par cette vue. La notion de bnfice diffre de celle de profit dfinie ci-dessus. Le
bnfice prend en compte les apports des autres vues dj retenues alors que le profit dune vue
ne considre que lapport de cette vue seule.
bene f ice(v, M) =
X
qQ
f req(q) cout(q, M)
X
qQ
f req(q) cout(q, M v)
(8)
Lalgorithme calcule de manire itrative les bnfices de chaque vues et retient la vue ayant
le plus grand bnfice, jusqu ce que la contrainte de stockage ne soit plus respecte. Cet
algorithme est donn ci-dessous (la fonction S(v) calcule lespace occup par v).
138
6. Exprimentation
Algorithm 6 greedySelection
1: Entre : V : Plan unifi
2: Sortie : M : ensemble des vues matrialises
3: Dbut
4:
M=
5:
Tant que S(M) < S faire
6:
Pour chaque vue v faire
7:
calculer BPS(v,M)
8:
FinPour
9:
choisir v avec BPS maximum
10:
si (S(M) +S(v) <S) alors
11:
M = Mv
12:
V =V v
13:
Finsi
14:
finTantque
15:
Retourner M
16: Fin
NB : Les notions de larbre de requte et de plan unifi des requtes bas sur les patrons de
triplet prsentes sont valables dans tous les types de BDBO. Pour assurer le caractre gnrique de cette approche comme souhait, une abstraction est faite sur les reprsentations relles
sous-jacentes utilises dans les BDBO et les calculs commencent partir des rsultats individuels des patrons de triplet. Dans la mise en uvre, on doit considrer les cots de construction
de nuds de slection suivant le type de BDBO dont on dispose. Car bien que les tailles des
rsultats de patrons de triplet individuels sont senses tre les mmes quel que soit le type de
BDBO utilise; cest--dire que les rsultats dune requte de slection sur un mme jeu de
donnes doit tre les mmes quel que soit le type de BDBO utilise, mais les cots de calculs
ne sont pas les mmes. Les diffrentes tapes de cette approche sont illustres sur la figure 5.13.
6 Exprimentation
6.1 Ensembles de donnes pour les tests
Nous avons effectu des tests de validation de nos approches sur un ordinateur (PC) de
marque DELL dot dun Processeur Intel(R) Xeon(R) CPU E31225 3.10 GHZ, dune mmoire vive de 4GO et dun disque dur de 500GO. Nous avons utilis le benchmark LUBM [30].
Nous avons gnr les instances pour des jeux de donnes contenant 10 et 100 universits nots Lubm10 et Lubm100 respectivement. Les nombres dinstances de classes, de proprits, de
139
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
Nombre dinstances de
classe
1.052.895
2779262
Nombre dinstances de
proprits
1.273.108
11096694
Nombre de triplets
1.272.870
12.674.100
6. Exprimentation
Temps de requtes sur Jena (LUBM10)
8000
7000
Temps(ms)
6000
5000
Sparql
4000
CBA
3000
TBA
2000
1000
0
1
11
12
14
Requtes
Figure 5.14 Temps de traitement de requtes sur LUBM10 sur la BDBO verticale
Temps de requte sur Jena (LUBM100)
70
60
Temps(sec)
50
40
sparql
CBA
30
TBA
20
10
0
1
11
12
14
Requtes
Figure 5.15 Temps de traitement de requtes sur LUBM100 sur la BDBO verticale
toDB) et sur une BDBO cre spcialement pour les tests que nous appelons BDBO native.
6.2.1
Dans le but dvaluer nos approches dans des BDBO existantes, nous avons cr et utilis
une BDBO verticale (Jena), une BDBO binaire (Sesame) et une BDBO horizontale (OntoDB).
Considrant une charge de quatorze requtes constitue des requtes du benchmark LUBM, et
grce nos approches, nous avons choisi un ensemble de vues que nous avons cres sur ces
BDBO. Nous avons excut la charge de requtes sur les BDBO sans les vues matrialises
avec un moteur SPARQL (ce rsultat est dsign sur les figures par Sparql) et avec les vues
matrialises laide dun moteur SQL. Les rsultats sont prsents sur les figures 5.14 5.19.
141
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
Temps de requtes sur Sesame (LUBM10)
25000
Temps (ms)
20000
SPARQL
15000
CBA
TBA
10000
5000
0
1
11
12
14
Requtes
Figure 5.16 Temps de traitement de requtes sur LUBM10 sur la BDBO Binaire
Temps de requtes sur Sesame(LUBM100)
25
Temps (sec)
20
15
SPARQL
10
CBA
TBA
0
1
11
12
14
Requtes
Figure 5.17 Temps de traitement de requtes sur LUBM100 sur la BDBO Binaire
Temps de requtes sur OntoDB (LUBM10)
25000
Temps (ms)
20000
SPARQL
15000
CBA
TBA
10000
5000
0
1
11
12
14
Requtes
Figure 5.18 Temps de traitement de requtes sur LUBM10 sur la BDBO horizontale
142
6. Exprimentation
Temps de requtes sur OntoDB (LUBM100)
25
Temps (sec)
20
15
SPARQL
10
CBA
TBA
0
1
11
12
14
Requtes
Figure 5.19 Temps de traitement de requtes sur LUBM100 sur la BDBO horizontale
6.2.1.1 Interprtation des rsultats. TBA fournit des bons rsultats pour toutes les requtes qui utilisent les vues matrialises. Les requtes qui nont pas de vues appropries sont
excutes sur les tables de la BDBO. Leurs rsultats sont moins bons que si elles sont excutes avec un moteur SPARQL. En fait, les moteurs SPARQL de Jena et de Sesame utilisent des
techniques doptimisation et sont plus rapides que le moteur SQL "plat". Castillo et Leser [142]
ayant utilis la rcriture SPARQL-SQL ont fait la mme remarque. Cela veut dire que laccs
la table de triplets de jena travers ARQ 25 , par exemple, est plus rapide que laccs avec un
moteur SQL. CBA trane dernire TBA et produit des rsultats moins intressants que le moteur
SPARQL pour certaines requtes car certaines vues obtenues sont de tailles importantes. Cest
le cas de requtes 1 et 3 qui portent sur les vues GraduateStudent et Publication qui sont assez
grandes. Cependant, la mthode CBA donne un temps cumul acceptable malgr le fait que pour
des requtes individuelles, les rsultats soient mitigs. Nous pouvons amliorer lapproche TBA,
en utilisant un moteur SPARQL pour des requtes nayant pas de vues appropries. Cependant
si la requte est partiellement couverte, il nous faut combiner les moteurs SQL et SPARQL.
Nous remarquons que lapproche CBA ragit bien sur des jeux de donnes de taille moyenne
mais ses performances se dgradent quand la taille de donnes devient importante. On peut voir
cela en comparant les figures 5.14 et 5.15. En ralit, quand plusieurs proprits dune classe
sont impliques dans la charge de requtes, la vue correspondante est large (cest--dire quelle
dispose de plusieurs colonnes), cela peut alourdir le chargement de cette vue qui peut ncessiter
plusieurs oprations dentres-sorties, surtout lorsque toute la vue est balaye.
143
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
Sparql
TBA
InriaID
InriaText
CBA
1000000
100000
Time(sec)
10000
1000
100
10
1
1
7
8
Requtes
11
12
14
Figure 5.20 Temps de traitement de requtes sur LUBM10 sur la BDBO native
6.2.2
Les exprimentations sur les BDBO existantes subissent linfluence des techniques doptimisation mises en uvre sous ces systmes, par exemple lexistence de certains index ou
clusters, lutilisation des dictionnaires, etc. Pour viter de fausser les rsultats des exprimentations par ces influences et pour comparer au plus juste notre travail avec un travail similaire
men par lINRIA 26 [182] qui utilise aussi une BDBO native sous PostgreSQL, nous avons
cr une BDBO verticale sous PostgreSQL. Sur cette BDBO, nous avons appliqu nos deux
approches mais aussi lapproche de lINRIA [182]. Il faut noter que cette dernire utilise un
dictionnaire et fournit des rsultats sous forme didentifiants. Nous appelons Inria_ID les rsultats de cette approche avec les identifiants et Inria_T exte les rsultats de la mme approche
mais sous forme de texte. Lexcution et la mesure des temps de traitement des requtes dans
les diffrentes approches donnent les rsultats prsents sur les figures 5.20 et 5.21.
6.2.2.1 Interprtation des rsultats. La plupart de nos requtes utilisant des vues sexcutent plus rapidement dans lapproche Inria_ID et TBA. Dans TBA, les requtes (par exemple
la requte 14) ne portant sur aucune vue slectionne sont excutes directement sur la table de
triplets. La diffrence entre les rsultats des approches TBA et Inria_ID sexplique par le fait
que cette dernire ne manipule que des valeurs entires et que les oprations y sont plus rapides
que dans les autres approches qui manipulent les chanes de caractres.
Lapproche de lINRIA [182] avec des rsultats textuels (Inria_T exte) donne un temps
moins bon que lapproche TBA. En effet, toutes les requtes ncessitent une ou plusieurs jointures avec la table dictionnaire pour le renvoi des valeurs textuelles. Cela ncessite un temps
important quand la liste des variables exportes est longue et quand il y a assez de tuples favo26. Institut National de Recherche en Informatique et en Automatique
144
6. Exprimentation
Sparql
TBA
InriaID
InriaText
CBA
10000000
1000000
Time(sec)
100000
10000
1000
100
10
1
1
7
8
Requtes
11
12
14
Figure 5.21 Temps de traitement de requtes sur LUBM100 sur la BDBO native
120
Temps (sec)
100
SPA RQL
TBA
80
60
SPA RQL
CBA
SPA RQL
CBA
CBA
40
TBA
TBA
20
0
Vericale
Binaire
Horizontale
Figure 5.22 Temps total de traitement de la charge de requtes sur les BDBO
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
Temps(sec)
6000
Sparql
5000
Sparql
TBA
4000
InriaID
InriaText
3000
CBA
2000
1000
InriaID
0
Approches
Figure 5.23 Temps total de traitement de la charge de requtes sur la BDBO native
6.2.3
Pour tudier linfluence de la taille de lespace rserv pour les vues matrialises sur le processus de slection de vues, nous avons fix la contrainte 1%, 10% et 25% de la taille de toutes
les vues candidates. Ensuite, nous avons fait des slections des vues que nous avons cres pour
chaque cas. Enfin, nous avons excut et mesur le temps dexcution des requtes de notre
charge de requtes pour chaque cas. Nous avons utilis lapproche TBA. Les rsultats obtenus
sont prsents sur la figure 5.24. Nous constatons que quand la contrainte de stockage est trs
forte cest--dire que taille despace rserv aux vues matrialises est petite (par exemple dans
notre cas, 1% de lespace ncessaire pour toutes les vues), la slection est oriente vers les
vues de slection. Et les rsultats sont aussi mitigs car ces vues napportent pas grand-chose
lexcution de requtes. A partir de 25% despace de toutes les vues, on obtient un rsultat
intressant.
7 Conclusion
Dans ce chapitre nous nous sommes penchs sur le problme de conception physique des
BDBO. Vu la complexit de ce problme, nous avons choisi de traiter uniquement du problme
de la slection des vues matrialises. La diversit des modles de stockage et des architectures de ce type de BD complique davantage le problme de slection. Une exploration de ltat
de lart sur la question nous a permis de constater que, dans les BDBO, il na t trait que
pour des BDBO verticale utilisant la table des triplets. Les approches proposes sont difficilement applicables tous les types de BDBO. Pour couvrir les diffrents types de BDBO, nous
avons prsent deux approches de rsolution : une approche dfinie au niveau conceptuel (ontologique) base sur les classes impliques dans les requtes et une approche dfinie au niveau
logique base sur les patrons de triplet utiliss dans la charge de requtes. La premire approche
146
7. Conclusion
Influence de la contrainte de stockage
120000
100000
80000
1%V
10*V
60000
25%V
ViewLess
40000
20000
0
1
11
12
14
Requtes
Chapitre 5. La Slection des Vues Matrialises dans les BDBO: un Mode dEmploi
Le travail de Wilkinson [201] utilise une structure qui ressemble notre approche base
sur les classes mais leurs proprits regroupes peuvent provenir des diffrentes classes. Il faut
noter que ce travail est plus relatif aux structures de stockage. Celui de Mengdong et Wu [202]
sur la mise en cache de certains rsultats des requtes SPARQL en vue dacclrer le traitement
dautres requtes dans le cadre du Web Smantique ressemble notre approche base sur les
triplets (TBA) car les rsultats mis en cache sont certains nuds de notre plan unifi de requtes.
En revanche la slection et matrialisation de ces nuds ntaient pas proposes.
Critres
Type de BDBO
Dploiement
Structure de donnes
Schma dontologie
Frquences
Contrainte de stockage
CBA
I, II, III
centralis
graphe
TBA
I, II et III
centralis
graphe
Goasdou et al.
I
centralis
multi-graphe
Castillo et Leser
I
centralis
graphe
utilis
non
non
oui
non
oui
oui
modle de cot
cot
de
construction +
cot accs
cot
de
construction +
cot accs
oui
oui
cot de stockage
148
149
Chapitre
6
Conclusion et Perspectives
6.1
Conclusion
Modle dontologie
Nous avons identifi que plusieurs modles dontologies sont utiliss pour dfinir des ontologies. Ces modles dontologies diffrent selon les objectifs viss : certains se focalisent sur la
gestion et lchange de donnes, comme par exemple PLIB et RDFS, dautres sont orients vers
linfrence sur les donnes, comme par exemple DAML-ONT, DAML+OIL, F-Logic, et OWL.
Chaque BDBO supporte un ou plusieurs modles dontologies ce qui a un impact sur les performances associes puisque ces modles diffrent sur leur expressivit et sur les mcanismes
de raisonnement proposs.
6.1.1.2
Modle de stockage
Contrairement un modle conceptuel, une ontologie ne prescrit pas les proprits qui sont
utilises pour dcrire une instance, elle dcrit uniquement toutes les proprits qui peuvent tre
utilises pour les caractriser. Ainsi, les instances ontologiques peuvent tre plus ou moins structures, cest--dire que les instances peuvent navoir quun petit nombre de proprits de lontologie (structuration faible) ou inversement un grand nombre de proprits (structuration forte).
La structuration des donnes est un facteur important lorsque lon souhaite choisir un schma
de bases de donnes performant pour les stocker. La structuration des instances ontologiques
tant varies et les BDBO stockant aussi lontologie associe, trois principales approches ont
t proposes pour la persistance de lontologie associe et ses instances. (1) Lapproche verticale o les ontologies et les donnes sont reprsentes dans un mme schma contenant une
table principale appele table de triplets constitue de trois colonnes (sujet, prdicat, objet).
Ce schma rappelle la structure du RDF sur lequel se basent les modles dontologies RDFS,
DAML-OIL, OWL, etc. (2) Lapproche binaire qui dcompose les relations en deux catgories :
les relations unaires (pour lappartenance aux classes), et les relations binaires (pour les valeurs
de proprits). Cette approche a trois variantes suivant lapproche adopte pour la reprsentation
de lhritage : (a) une table unique pour toutes les classes de lontologie, (b) une table par classe
avec hritage de table (si une base de donnes relationnelle-objet est utilise) et (c) une table
par classe sans hritage de table. Toutes ces variantes utilisent une table binaire pour chaque
proprit. (3) Lapproche horizontale qui associe chaque classe de lontologie une table ayant
une colonne pour chaque proprit associe une valeur pour au moins une instance de cette
classe. Le choix dun modle de stockage particulier influence directement les performances
des requtes puisque celles-ci seront traduites par diffrentes oprations relationnelles sur le
SGBD sous-jacent.
6.1.1.3
Architecture
Contrairement une base de donnes traditionnelle, une BDBO doit stocker en plus des
donnes lontologie qui en dcrit le sens. Cette "augmentation" a vu natre trois grandes ar152
6.1. Conclusion
chitectures de BDBO : (1) architecture de type I ou architecture "deux quarts" dans laquelle
les ontologies et les donnes sont reprsentes dans un mme schma. Cette architecture est
semblable celle des bases de donnes classiques utilisant deux parties : les donnes et la
mta-base, (2) architecture de type II ou architecture "trois quarts" o les ontologies et les
donnes sont spares et reprsentes dans deux schmas diffrents respectivement appels ontologie et donnes. Le schma ontologie est constitu dun ensemble de tables (class, property,
subclass, subproperty, domain, range, etc.) qui reprsente les constructeurs du modle dontologies (classes, proprits, etc.). Malgr cette sparation, cette architecture reste lie au modle
dontologies utilis, (3) architecture de type III ou architecture "quatre quarts" qui ajoute la
structuration prcdente une partie nomme mta-schma jouant, pour les ontologies, le mme
rle que celui jou par la mta-base pour les donnes. Cette partie stocke les constructeurs du
modle dontologies utilis. Elle permet ainsi un accs gnrique au modle ontologique ainsi
que lintroduction de nouveaux constructeurs issus de diffrents modles dontologies. Le choix
dune architecture particulire a un impact sur les performances puisque la taille des tables diminue lorsque lon dcompose le stockage des donnes dans plusieurs parties en fonction de
leur niveau dabstraction.
En considrant ces trois dimensions de la diversit des BDBO, nous avons dfini lespace
des BDBO comme tant un cube dont les axes sont respectivement les modles de stockage, les
architectures et les formalismes dontologies. Toute BDBO peut tre classe dans une cellule
de ce cube.
6.1.3 Modle de cot pour les BDBO prenant en compte leur diversit
En dtaillant les travaux raliss sur la conception physique des bases de donnes traditionnelles, nous avons identifi que les modles de cot sont au cur de ces travaux. Or, nous
navons pas trouv de modle de cot dans la littrature qui prennent en compte la diversit des
BDBO. Nous avons donc propos un nouveau modle de cot bas sur le modle unifi des
BDBO introduit prcdemment. Notre modle de cot quantifie les entres-sorties ncessaires
pour le traitement dune requte. Il intgre la diversit des BDBO et peut aider les concepteurs
choisir un meilleur type de BDBO selon un critre de performance donn et une charge de
requtes usuelles. Ce modle de cot a t mis en application dans une tude que nous avons
mene dont les rsultats confirment partiellement ceux que nous avons obtenus dans ltude
exprimentale faite prcdemment. Les rsultats confirms sont les suivants. Le modle de stockage vertical est meilleur en matire de chargement des donnes mais il est trs coteux pour
les requtes (en raison des auto-jointures ncessaires sur la table de triplets). Le modle de stockage binaire est appropri pour les requtes de slection mono-triplet (avec peu de proprits)
et le modle de stockage horizontal pour les requtes de slections mono-triplet et pluri-triplets
mais le modle de stockage horizontal peut conduire des oprations dunions et la redondance des donnes. Concernant les rsultats thoriques non confirms par nos exprimentations
nous notons quils concernent des BDBO spcifiques. Nous pensons que cette divergence vient
doptimisations particulires faites dans ces BDBO ou des structures doptimisation utilises
que nous ne considrons pas dans notre modle de cot. En perspective de ces travaux sur le
modle de cot, il serait donc intressant de spcialiser notre modle pour une BDBO particulire.
6.2. Perspectives
de la base de donnes mais requiert uniquement le schma de lontologie. (ii) Une slection
impose, qui suppose lexistence pralable dune BDBO. Elle suppose donc la connaissance
du modle de stockage, du SGBD sous-jacent et des autres caractristiques de la BDBO. Elle
est similaire celle faite dans le contexte des bases de donnes traditionnelles. (iii) La dernire
approche appele approche simule intgre dans le processus de slection des vues matrialises la diversit des BDBO. Nous avons propos une approche conceptuelle et une approche
simule. Notre approche conceptuelle est base sur les classes de lontologie impliques dans la
charge des requtes. Elle fait une abstraction de limplmentation des BDBO. Par contre, elle
ncessite la prsence de lontologie. Notre approche simule prend en compte la phase logique,
physique et de dploiement. Elle est base sur les triplets. Elle est gnrique et applicable
tout type de BDBO. En effet, cette approche construit un graphe de requtes (plan unifi des
requtes) bas sur les patrons de triplet des requtes de la charge. Elle prend en compte le modle de stockage sous-jacent et utilise notre modle de cot dans le processus de la slection de
vues matrialises. Les exprimentations ralises sur les diffrents types de BDBO ont montr que nos approches sont pertinentes et comparables dautres approches traitant de la mme
question pour un type de BDBO particulier [182].
6.2
Perspectives
A court terme, nous pensons quil est important de faire une validation plus approfondie
de nos travaux. En effet, mme si nos exprimentations ont donn des rsultats intressants,
il est important de les raliser sur une plus grande volumtrie de donnes avec dautres benchmarks impliquant des requtes plus varies et sur dautres BDBO pour voir la robustesse de nos
propositions. Ct outillage, il serait intressant denvisager la mise au point dun simulateur
intgrant notre modle de cot et nos approches.
A plus long terme, nous notons que nos travaux ont t mens dans un contexte bien particulier o lon considre une BDBO comme un systme centralis ncessitant loptimisation dun
ensemble de requtes connu. Mme si nous pensons que ce contexte concerne de nombreux
cas dapplication, il serait intressant dlargir nos travaux en remettant en cause certaines hypothses faites. Nous pensons notamment au traitement des donnes massives ("big data") qui
apporte de nouvelles dimensions partiellement traites dans nos travaux. Nous dcrivons ces
dimensions ci-dessous et voquons des perspectives de recherche quelles impliquent pour nos
travaux.
6.2.1 Volume
Une BDBO centralise nest pas en mesure de grer des donnes massives. En effet, cellesci sont caractrises par lajout de traoctets de donnes par jour. Dans ce contexte, il est ncessaire de considrer les BDBO dans un contexte distribu ce que nous navons pas fait dans
155
6.2.2 Varit
Dans nos travaux nous avons considr le stockage dontologies et de leurs instances. Comme
nous lavons vu, ces donnes prsentent une diversit qui ont t au cur de nos travaux. Dans
le cadre des donnes massives, cette varit est encore plus grande puisquil sagit de traiter des
donnes de diverses natures qui peuvent tre ontologiques mais galement semi-structures,
textuelles, multimdia, etc. La gestion de cette diversit a vu natre de nombreuses nouvelles
solutions de stockage qualifies de NoSQL ou NewSQL qui proposent des performances et des
fonctionnalits trs varies. Une des questions centrales actuellement est de dterminer la solution utiliser lorsque lon fait face un problme de traitement de donnes massives. Nous
pensons que la dmarche que nous avons suivie dans nos travaux pourrait tre intressante pour
ce problme que nous qualifions de "dploiement". Il sagirait dabord de bien tudier les solutions NoSQL et NewSQL proposes pour identifier les dimensions de leur diversit et de
confirmer ces dimensions par des tudes exprimentales. Cette tude devrait permettre de dterminer si il est possible de construire un modle unifi pour ses solutions et un modle de cot
associ qui permettrait alors de traiter le problme du dploiement.
6.2.3 Vlocit
Dans nos travaux, nous considrons un contexte statique o lontologie est stable et les
requtes importantes sont connues lavance. Ces hypothses ne sont pas forcment vraie dans
un contexte de traitement de donnes massives o lon considre que les donnes doivent tre
captures et analyses en temps rel. Dans une BDBO, cela voudrait dire que lontologie et/ou
ses instances pourraient tre mises jour frquemment et que les requtes pourraient ne pas
tre connues lavance. Il faudrait donc tudier les impacts de lvolution de lontologie et
des donnes sur les approches de slection des vues matrialises proposes dans nos travaux.
De mme, il faudrait redfinir ce problme, lorsque la charge de requte est dynamique. Enfin,
le problme de maintenance des vues matrialises serait crucial dans un tel contexte puisque
les donnes changeraient rapidement. Aussi, il serait ncessaire daborder la question de la
maintenance incrmentale des vues matrialises dans les BDBO.
156
Bibliographie
[1] M. Rousset et C. Reynaud, PICSEL and xyleme: Two illustrative information integration agents , in Intelligent Information Agents - The AgentLink Perspective, p. 5078,
2003.
[2] G. Pierra, Context representation in domain ontologies and its use for semantic integration of data , Journal Of Data Semantics (JoDS), vol. 10, p. 174211, 2008.
[3] S. Bechhofer, F. van Harmelen, J. Hendler, I. Horrocks, D. McGuinness,
P. Patel-Schneider et L. Stein, Owl web ontology language reference , W3C,
http://www.w3.org/TR/owlref/, 2004.
[4] D. J. Abadi, A. Marcus, S. R. Madden et K. Hollenbach, Scalable Semantic Web
Data Management Using Vertical Partitioning , in Proceedings of the 33rd International
Conference on Very Large Data Bases (VLDB07), p. 411422, 2007.
[5] S. Alexaki, V. Christophides, G. Karvounarakis, D. Plexousakis et K. Tolle, The icsFORTH RDFSuite: Managing voluminous RDF description bases , in Proceedings of
the 2nd International Workshop on the Semantic Web, p. 113, 2001.
[6] K. Wilkinson, Jena Property Table Implementation , in Proceedings of the 2nd International Workshop on Scalable Semantic Web Knowledge Base Systems (SSWS06),
p. 3546, 2006.
[7] B.McBride, Jena: Implementing the rdf model and syntax specification , in Proceedings of the 2nd International Workshop on the Semantic Web, 2001.
[8] Z. Pan et J. Heflin, Dldb: Extending relational databases to support semantic web queries , in Proceedings of the 1st International Workshop on Practical and Scalable Semantic Systems (PSSS03), p. 109113, 2003.
[9] H. Dehainsala, G. Pierra et L. Bellatreche, OntoDB: An Ontology-Based Database
for Data Intensive Applications , in Proceedings of the 12th International Conference
on Database Systems for Advanced Applications (DASFAA07), p. 497508, 2007.
[10] A. Seaborne, Rdql a query language for rdf , W3C Member Submission 9 January,
2004. http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/.
157
Bibliographie
[11] J. Broeskstra et A. Kampman, SeRQL: A Second Generation RDF Query Language ,
in SWAD-Europe Workshop on Semantic Web Storage and Retrieval, November 2003.
[12] G. Karvounarakis, S. Alexaki, V. Christophides, D. Plexousakis et M. Scholl, RQL:
a declarative query language for RDF , in Proceedings of the Eleventh International
World Wide Web Conference (WWW02), p. 592603, 2002.
[13] L. Miller, A. Seaborne et A. Reggiori, Three Implementations of SquishQL, a Simple
RDF Query Language , in Proceedings of the 1st International Semantic Web Conference (ISWC02), p. 423435, 2002.
[14] E. Prudhommeaux et A. Seaborne, Sparql query language for rdf , W3C Candidate
Recommendation 14 June, 2007. http://www.w3.org/TR/rdf-sparql-query/.
[15] S. Jean, Y. Ait-Ameur et G. Pierra, Querying Ontology Based Database Using OntoQL
(an Ontology Query Language) , in ODBASE06, p. 704721, 2006.
[16] C. D. Rogozan, Gestion de lvolution des ontologies: mthodes et outils pour un rfrencement smantique volutif fond sur une analyse des changements entre versions
dontologie. Thse doctorat, Universit du Qubec Montral, 2009.
[17] P. Foulquie et R. Saint-Jean, Dictionnaire de la langue philosophique. Paris, Presses
Universitaires de France, 1962.
[18] L. Meynard, La Mtaphysique. Dans Foulq.-St-Jean 1962, 1959.
[19] T. R. Gruber, Formal ontology in conceptual analysis and knowledge representation.
Chapter: Towards principles for the design of ontologies used for knowledge sharing.
Kluwer Academic Publishers., 1993.
[20] G. Pierra, Context representation in domain ontologies and its use for semantic integration of data , Journal Of Data Semantics (JODS), vol. 4900, p. 173210, 2008.
[21] D. Brickley et R. Guha, Rdf vocabulary description language 1.0: Rdf schema , W3C,
http://www.w3.org/TR/rdfschema/, 2002.
[22] ISO-13584-42, Industrial Automation Systems and Integration Parts LIBrary Part 42 :
Description methodology : Methodology for Structuring Parts families , rap. tech., ISO,
1998.
[23] N. Guarino, Formal ontology in information systems: Proceedings of the first international conference (FOIS98), June 6-8, Trento, Italy, vol. 46. IOS press, 1998.
[24] P. R. S. Visser, M. D. Beer, T. J. M. Bench-Capon, B. M. Diaz et M. J. R. Shave, Resolving ontological heterogeneity in the kraft project , in Proceedings of the 10th International Conference on Database and Expert Systems Applications, DEXA 99, (London,
UK), p. 668677, Springer-Verlag, 1999.
[25] G. A. Miller, Wordnet: a lexical database for english , Communications of the ACM,
vol. 38, p. 3941, 1995.
158
[26] R. Apweiler, A. Bairoch, C. H. Wu, W. C. Barker, B. Boeckmann, S. Ferro, E. Gasteiger, H. Huang, R. Lopez, M. Magrane, M. J. Martin, D. A. Natale, C. O. Donovan,
N. Redaschi et L. S. Yeh, Uniprot: the universal protein knowledgebase , Nucleic Acids
Research, vol. 32, p. D115D119, 2004.
[27] G. Pierra, Context-explication in conceptual ontologies: Plib ontologies and their use
for industrial data , Journal of Advanced Manufacturing Systems, World Scientific Publishing Company, 2006.
[28] S. Jean, G. Pierra et Y. Ait-Ameur, Domain Ontologies : a Database-Oriented Analysis,
vol. 1, p. 238254. Springer, 2007.
[29] S. Weibel, The dublin core: a simple content description model for electronic resources , Bulletin of the American Society for Information Science and Technology,
vol. 24, p. 911, 1997.
[30] Z. P. Y. Guo et J. Heflin, Lubm: A benchmark for owl knowledge base systems , in
Journal of Web Semantics, vol. 3, p. 158182, 2005.
[31] G. Pierra, Context-explication in conceptual ontologies : The plib approach , in Proc.
of Concurrent Engineering (CE2003), p. 243254, July 2003.
[32] M. Kifer, G. Lausen et J. Wu, Logical Foundations of Object-Oriented and FrameBased Languages , Journal of the ACM (JACM), vol. 42, p. 741843, 1995.
[33] D. Connolly, F. van Harmelen, I. Horrocks, D. L. McGuinness, P. F. Patel-Schneider et
L. A. Stein, DAML+OIL Reference Description. World Wide Web Consortium, december 2001. http://www.w3.org/TR/daml+oil-reference.
[34] M. Klaene, Using ibatis sql maps for java data access , Resources for Java server-side
developers, vol. 1, 2004.
[35] P. Hitzler, M. Krtzsch et S. Rudolph, Foundations of semantic web technologies ,
Chapman & Hall/CRC, 2009.
[36] F. Manola, E. Miller, B. McBride et al., Rdf primer , W3C recommendation, vol. 10,
p. 6, 2004.
[37] D. C. Fallside, Xml schema part 0: primer second edition , W3C recommendation,
2004.
[38] M. Smith, C. Welty et D. L. McGuinness, Owl web ontology language guide. w3c
recommendation , URL http://www. w3. org/TR/owl-guide, 2009.
[39] S. Tobies, Complexity Results and Practical Algorithms for Logics in Knowledge Representation. Thse doctorat, RWTH Aachen, Germany, 2001.
[40] J. Zhou, L. Ma, Q. Liu, L. Zhang, Y. Yu et Y. Pan, Minerva: A scalable owl ontology
storage and inference system , in The Semantic Web Conference, p. 429443, Springer,
2006.
[41] P. Spyns, R. Meersman et M. Jarrar, Data modelling versus ontology engineering ,
ACM SIGMod Record, vol. 31, no. 4, p. 1217, 2002.
159
Bibliographie
[42] C. Fankam, L. Bellatreche, D. Hondjack, Y. A. Ameur et G. Pierra, Sisro, conception
de bases de donnes partir dontologies de domaine. , Technique et Science Informatiques, vol. 28, no. 10, p. 12331261, 2009.
[43] M. Lenzerini, Data integration : A theoretical perspective , Proceedings of the ACM
SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS02),
p. 233246, June 2002.
[44] Roldan-Garcia, M. Navas-Delgado, Aldana-Montes et J. Aldana-Montes, A design
methodology for semantic web database-based systems , Third International Conference on Information Technology and Applications(ICITA05), vol. 1, p. 233237, 2005.
[45] V. Sugumaran et V. C. Storey, The role of domain ontologies in database design: An
ontology management and conceptual modeling environment , in ACM Trans. Database
Syst., vol. 31, (New York, NY, USA), p. 10641094, ACM Press, 2006.
[46] G. Pierra, H. Dehainsala, Y. Ait-Ameur et L. Bellatreche, Base de Donnes Base
Ontologique : principes et mise en uvre , Ingnierie des Systmes dInformation,
vol. 10, p. 91115, 2005.
[47] K. Wilkinson, C. Sayers, H. Kuno et D. Reynolds, Efficient rdf storage and retrieval in
jena2 , HP Laboratories Technical Report HPL-2003-266, p. 131150, 2003.
[48] J. Broekstra, A. Kampman et F. van Harmelen, Sesame: A generic architecture for storing and querying rdf and rdf schema , in Proceedings of the 1st International Semantic
Web Conference (ISWC02), p. 5468, 2002.
[49] M. J. Park, J. H. Lee, C. H. Lee, J. Lin, O. Serres et C. W. Chung, An Efficient and Scalable Management of Ontology , in Proceedings of the 12th International Conference
on Database Systems for Advanced Applications (DASFAA07), p. 975980, 2007.
[50] L. Ma, Z. Su, Y. Pan, L. Zhang et T. Liu, RStar: an RDF Storage and Query System for
Enterprise Resource Management , in Proceedings of the 30th International Conference
on Information and Knowledge Management (CIKM04), p. 484491, 2004.
[51] E. Bozsak, M. Ehrig, S. Handschuh, A. Hotho, A. Maedche, B. Motik, D. Oberle,
C. Schmitz, S. Staab, L. Stojanovic, N. Stojanovic, R. Studer, G. Stumme, Y. Sure,
J. Tane, R. Volz et V. Zacharias, Kaon - towards a large scale semantic web , in
Proceedings of the 3rd International Conference on E-Commerce and Web Technologies
(EC-WEB02), (London, UK), p. 304313, Springer-Verlag, 2002.
[52] S. Harris et N. Gibbins, 3store: Efficient Bulk RDF Storage , in Proceedings of the 1st
International Workshop on Practical and Scalable Semantic Systems (PSSS03), p. 115,
2003.
[53] K. Stoffel, M. Taylor et J. Hendler, Efficient Management of Very Large Ontologies ,
in Proceedings of the 14th National Conference on Artificial Intelligence and 9th Innovative Applications of Artificial Intelligence Conference AAAI97/IAAI97, p. 442447,
1997.
160
[54] S. Das, Rdf support in oracle rdbms , Oracle Technical Presentation, 2009.
[55] C. Murray, Oracle spatial resource description framework (rdfi) , Oracle Corporation,
2005.
[56] IBM, Thinking ontologies at ibm center for advanced studies , IBM Center for Advanced Studies of Rome, 2006.
[57] C. Fankam, Ontodb2 : un systme flexible et efficient de base de donnes base ontologique pour le web smantique et les donnes techniques , ph.d. thesis, Poitiers University, 2009.
[58] Y. Theoharis, V. Christophides et G. Karvounarakis, Benchmarking Database Representations of RDF/S Stores , in Proceedings of the 4th International Semantic Web
Conference (ISWC05), p. 685701, 2005.
[59] J. Lu, L. Ma, L. Zhang, J.-S. Brunner, C. Wang, Y. Pan et Y. Yu, Sor: a practical system
for ontology storage, reasoning and search , in Proceedings of the 33rd international
conference on Very large data bases (VLDB07), p. 14021405, 2007.
[60] D. Nguyen-Xuan, Intgration de base de donnes htrognes par articulation apriori
dontologies : application aux catalogues de composants industriels. Thse doctorat,
LISI/ENSMA et Universit de Poitiers, 2006.
[61] M. del Mar Roldan Garcia, I. N. Delgado et J. F. A. Montes, A Design Methodology
for Semantic Web Database-Based Systems , in Proceedings of the 3rd International
Conference on Information Technology and Applications (ICITA05), p. 233237, IEEE
Computer Society, 2005.
[62] N. Belaid, Y. Ait Ameur et J. F. Rainaud, A semantic handling of geological modeling workflows , in International ACM Conference on Management of Emergent Digital
EcoSystems, p. 8390, 2009.
[63] S. Khouri et L. Bellatreche, Osons tout persister dans un entrept: Donnes et modles , in 7mes Journes Francophones sur les Entrepts de Donnes et analyse en
Ligne (EDA11), 2011.
[64] Object Management Group, Meta Object Facility (MOF), formal/02-04-03, october 2002.
[65] J. Bailey, F. Bry, T. Furche et S. Schaffert, Web and semantic web query languages: A
survey , in Proceedings of the First international conference on Reasoning Web, p. 35
133, Springer-Verlag, 2005.
[66] J. J. Carroll, C. Bizer, P. Hayes et P. Stickler, Named Graphs, Provenance and Trust ,
in Proceedings of the 14th international conference on World Wide Web (WWW05),
(New York, NY, USA), p. 613622, ACM Press, 2005.
[67] K. Tolle et F. Wleklinski, easy RDF Query Language (eRQL), 2004.
http://www.dbis.informatik.uni-frankfurt.de/~tolle/RDF/eRQL.
161
Bibliographie
[68] J. Robie, L. M. Garshol, S. Newcomb, M. Fuchs, L. Miller, D. Brickley, V. Christophides et G. Karvounarakis, The syntactic web: Syntax and semantics on the web ,
Markup Languages: Theory and Practice, vol. 3, p. 411440, 2001.
[69] D. Steer, Treehugger 1.0 introduction , Online only, 2003.
[70] U. Ogbuji, Thinking xml: Basic xml and rdf techniques for knowledge management:
Part 6: Rdf query using versa , Online only, April, 2002.
[71] K. Matsuyama, M. Kraus, K. Kitagawa et N. Saito, A path-based rdf query language
for cc/pp and uaprof , in Pervasive Computing and Communications Workshops, 2004.
Proceedings of the Second IEEE Annual Conference on, p. 37, IEEE, 2004.
[72] M. Marchiori, A. Epifani et S. Trevisan, Metalog v2. 0: Quick user guide , rap. tech.,
Technical report, W3C, 2004.
[73] E. Prudhommeaux, Algae rdf query language , Online only, 2004.
[74] T. Berners-Lee, N3qlrdf data query language , Online only, 2004.
[75] N. Bassiliades et I. P. Vlahavas, Capturing rdf descriptive semantics in an object oriented knowledge base system. , in WWW (Posters), 2003.
[76] M. Sintek et S. Decker, Triple a query, inference, and transformation language for
the semantic web , in The Semantic Web ISWC 2002, p. 364378, Springer, 2002.
[77] D. Reynolds, Rdf-qbe: a semantic web building block , rap. tech., Technical Report
HPL-2002-327, HP Labs, 2002.
[78] S. Powers, Practical rdf. " OReilly Media, Inc.", 2003.
[79] A. Seaborne, G. Manjunath, C. Bizer, J. Breslin, S. Das, I. Davis, S. Harris, K. Idehen,
O. Corby, K. Kjernsmo et al., Sparql/update: A language for updating rdf graphs ,
W3C Member Submission, vol. 15, 2008.
[80] R. Ramakrishnan, Database Management Systems. WCB/McGraw Hill, 1998.
[81] E. Bertino, M. Negri, G. Pelagatti et L. Sbattella, Object-oriented query languages:
The notion and the issues , IEEE Transactions on Knowledge and Data Engineering,
vol. 4, no. 3, p. 223237, 1992.
[82] L. V. S. Lakshmanan, d., Design and Management of Data Warehouses, Proceedings of
the 4th Intl. Workshop (DMDW02), Toronto, Canada, May 27, vol. 58in CEUR Workshop Proceedings, CEUR-WS.org, 2002.
[83] A. Datta, B. Moon, K. Ramamritham, H. Thomas et I. Viguier, Have your data and
index it, too: Efficient storage and indexing for datawarehouses , Techreport Technical
Report 98-7, Department of Computer Science, The University of Arizona, 1998.
[84] S. Chaudhuri et V. Narasayya, Self-tuning database systems: a decade of progress ,
in Proceedings of the 33rd international conference on Very large data bases, p. 314,
VLDB Endowment, 2007.
162
[85] B. Kamel, De la conception physique aux outils dadministration et de tuning des entrepts de donnes. Thse doctorat, ENSMA et Universit de Poitiers, juillet 2009.
[86] H. Gupta, V. Harinarayan, A. Rajaraman et J. D. Ullman, Index selection for olap , in
Proceedings of 13th International Conference on Data Engineering, p. 208219, IEEE,
1997.
[87] H. Gupta, Selection of views to materialize in a data warehouse , in ICDT, p. 98112,
1997.
[88] A. A. B. Lima, C. Furtado, P. Valduriez et M. Mattoso, Improving parallel olap query
processing in database clusters with data replication , Distributed and Parallel Database
Journal, vol. 25, no. 1-2, p. 97123, 2009.
[89] S. Agrawal, V. Narasayya et B. Yang, Integrating vertical and horizontal partitioning
into automated physical database design , in Proceedings of the ACM SIGMOD international conference on Management of data, p. 359370, ACM, 2004.
[90] D. Comer, The difficulty of optimum index selection , ACM Transactions on Database
Systems (TODS), vol. 3, p. 440445, 1978.
[91] N. Pasquier, Y. Bastide, R. Taouil et L. Lakhal, Discovering frequent closed itemsets ,
ICDT, p. 398416, 1999.
[92] M. Simonnard, Programmation linaire. Dunod, 1962.
[93] S. Chaudhuri et V. Narasayya, Autoadmin what-if index analysis utility , Proceedings of the ACM SIGMOD International Conference on Management of Data, p. 367
378, June 1998.
[94] H. Gupta, Selection and maintenance of views in a data warehouse , ph.d. thesis,
Stanford University, September 1999.
[95] J. Ullman, Efficient implementation of data cubes via materialized views , in the Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining
(KDD96), p. 386388, 1996.
[96] P. A. Bernstein et D.-M. W. Chiu, Using semi-joins to solve relational queries , Journal of the ACM, vol. 28, p. 2540, January 1981.
[97] Y. Kotidis et N. Roussopoulos, Dynamat: a dynamic view management system for data
warehouses , in ACM SIGMOD Record, vol. 28, p. 371382, ACM, 1999.
[98] Z. Bellahsene et P. Marot, Materializing a set of views: Dynamic strategies and performance evaluation , in Database Engineering and Applications Symposium, 2000 International, p. 424428, IEEE, 2000.
[99] Z. Bellahsene, M. Cart et N. Kadi, A cooperative approach to view selection and
placement in p2p systems , in On the Move to Meaningful Internet Systems: OTM10,
p. 515522, Springer, 2010.
163
Bibliographie
[100] J. Zhou, P.-A. Larson, J. Goldstein et L. Ding, Dynamic materialized views , in Data
Engineering, 2007. ICDE 2007. IEEE 23rd International Conference on, p. 526535,
IEEE, 2007.
[101] I. Mami et Z. Bellahsene, A survey of view selection methods , SIGMOD Record,
vol. 41, no. 1, p. 2029, 2012.
[102] M. de Souza et M. Sampaio, Efficient materialization and use of views in data warehouses , SIGMOD Record, vol. 28, no. 1, p. 7883, 1999.
[103] V. Harinarayan, A. Rajaraman et J. D. Ullman, Implementing data cubes efficiently ,
in ACM SIGMOD Record, vol. 25, p. 205216, ACM, 1996.
[104] E. Baralis, S. Paraboschi et E. Teniente, Materialized views selection in a multidimensional database. , in VLDB, vol. 97, p. 156165, 1997.
[105] K. R. H. Uchiyama et T. Teorey, A progressive view materialization algorithm , in
2nd ACM International Workshop on Data warehousing and OLAP (DOLAP 99), Kansas
City, USA, p. 3641, 1999.
[106] P. D. A. Shukla et J. Naughton, Materialized view selection for multi-cubedata models , in 7 th International Conference on Extending DataBase Technology (EDBT 00),
Konstanz, Germany, p. 269284, 2000.
[107] T. Nadeau et T. Teorey, Achieving scalability in olap materialized view selection ,
in 5th ACM International Workshop on Data Warehousing and OLAP (DOLAP 02),
McLean, USA, p. 2834, 2004.
[108] M. Golfarelli et S. Rizzi, View materialization for nested gpsj queries. , in DMDW,
p. 10, 2000.
[109] D. Theodoratos et W. Xu, Constructing search spaces for materialized view selection ,
in Proceedings of the 7th ACM international workshop on Data warehousing and OLAP
(DOLAP 04), Washington DC, USA, p. 112121, ACM, 2004.
[110] A. Gupta, I. S. Mumick et al., Maintenance of materialized views: Problems, techniques, and applications , IEEE Data Eng. Bull., vol. 18, p. 318, 1995.
[111] X. Y. C. Zhang et J. Yang, An evolutionary approach to materialized view selection in
a data warehouse environment , IEEE Transactions on Systems, Man, and Cybernetics,
vol. 31, no. 3, p. 282294, 2001.
[112] S. V. e. K. K. S.R. Valluri, View relevance driven materialized view selection in data
warehousing environment , in 13th Australasian Database Technologies Conference
(ADC02), Melbourne, Australia, p. 187196, 2002.
[113] X. Baril et Z. Bellahs`ene, Selection of materialized views: a cost-based approach ,
in 15th International Conference on Advanced Information Systems Engineering (CAiSE03), Klagenfurt, Austria, p. 665680, 2003.
164
Bibliographie
[128] L. Bellatreche, M. Schneider, H. Lorinquer et M. Mohania, Bringing together partitioning, materialized views and indexes to optimize performance of relational data warehouses , in Data Warehousing and Knowledge Discovery, p. 1525, Springer, 2004.
[129] J. Rao, C. Zhang, N. Megiddo et G. Lohman, Automating physical database design in
a parallel database , in Proceedings of the ACM SIGMOD international conference on
Management of data, p. 558569, ACM, 2002.
[130] T. Stohr, H. Martens et E. Rahm, Multi-dimensional database allocation for parallel
data warehouses. , in VLDB, p. 273284, 2000.
[131] L. Bellatreche, Utilisation des vues matrialises, des index et de la fragmentation dans
la conception logique et physique dun entrept de donnes. Thse doctorat, Universit
Blaise Pascal de Clermont Ferrand, dcembre 2000.
[132] M. T. zsu et P. Valduriez, Principles of distributed database systems. Springer, 2011.
[133] D. C. Zilio, J. Rao, S. Lightstone, G. Lohman, A. Storm, C. Garcia-Arellano et S. Fadden, Db2 design advisor: integrated automatic physical database design , in Proceedings of the Thirtieth international conference on Very large data bases-Volume 30,
p. 10871097, VLDB Endowment, 2004.
[134] S. Rozen et D. Shasha, A framework for automating physical database design , in
Proceedings of the 17th International Conference on Very Large Data Bases, p. 401
411, Morgan Kaufmann Publishers Inc., 1991.
[135] S. Finkelstein, M. Schkolnick et P. Tiberio, Physical database design for relational
databases , ACM Transactions on Database Systems, vol. 13, p. 91128, 1988.
[136] B. Dageville, D. Das, K. Dias, K. Yagoub, M. Zait et M. Ziauddin, Automatic sql
tuning in oracle 10g , in Proceedings of the Thirtieth international conference on Very
large data bases-Volume 30, p. 10981109, VLDB Endowment, 2004.
[137] C. Maier, D. Dash, I. Alagiannis, A. Ailamaki et T. Heinis, Parinda: an interactive
physical designer for postgresql , in Proceedings of the 13th International Conference
on Extending Database Technology, p. 701704, ACM, 2010.
[138] P. ONeil et D. Quass, Improved query performance with variant indexes , sigmod,
p. 3849, May 1997.
[139] L. Bellatreche, K. Boukhalfa et M. K. Mohania, Pruning search space of physical
database design , in 18th International Conference On Database and Expert Systems
Applications (DEXA07), p. 479488, 2007.
[140] N. Bruno et S. Chaudhuri, To tune or not to tune?: a lightweight physical design alerter , in Proceedings of the 32nd international conference on Very large data bases,
p. 499510, VLDB Endowment, 2006.
[141] K. Boukhalfa et L. Bellatreche, Combinaison des algorithmes gntique et de recuit
simul pour la conception physique des entrepts de donnes. , in INFORSID, p. 673
686, 2006.
166
[142] R. Castillo et U. Leser, U.: Selecting materialized views for rdf data , in In: Semantic
Web Information Management Workshop (SWIM, Citeseer, 2010.
[143] F. Goasdoue, K. Karanasos, J. Leblay et I. Manolescu, View selection in semantic web
databases , Proc. VLDB Endow., vol. 5, p. 97108, oct. 2011.
[144] I.Horrocks et U.Sattler, Ontology reasoning in the shoq(d) description logic , In
Proc. of the 17th Int. Joint Conf. on Artificial Intelligence, p. 199204, 2001.
[145] I. Horrocks, P. F. Patel-Schneider et F. van Harmelen, From shiq and rdf to owl: the
making of a web ontology language. , J. Web Sem., vol. 1, no. 1, p. 726, 2003.
[146] I.Horrocks et U.Sattler, Decidability of shiq with complex role inclusion axioms. ,
Artificial Intelligence, vol. 160, p. 79104, 2004.
[147] I.Horrocks, U.Sattler et S.Tobies, Practical reasoning for expressive description logics , In Proc. of the 6th Int. Conf. on Logic for Programming and Automated Reasoning
(LPAR99), vol. 1705, p. 161180, 1999.
[148] Z. Wu, G. Eadon, S. Das, E. I. Chong, V. Kolovski, M. Annamalai et J. Srinivasan,
Implementing an inference engine for rdfs/owl constructs and user-defined rules in
oracle , in ICDE2008, p. 12391248, April 2008.
[149] O. L. T. Berners-Lee, J. Handler, The semantic web , Scientific American, May 2001.
[150] IBM, RDF application development for IBM data servers.
IBM, 2012.
http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/index.jsp?topic=%2Fcom.ibm.db2.luw.wn.doc%2Fdoc%2Fc0060011.html.
[151] G. R. Mario Briggs, Priya Ranjan Sahoo et F. Anwar, Resource description framework
application development in db2 10 for linux, unix, and windows , IBM, OCT 2012.
[152] D. Beckett, RDF 1.1 N-Triples.
W3C Recommendation, February 2014.
http://www.w3.org/TR/2014/REC-n-triples-20140225/.
[153] M. Briggs, Db2 nosql graph store what, why & overview , Mar. 2012. IBM :
https://www.ibm.com/developerworks/mydeveloperworks/blogs/nlp/resource/DB2_NoS
QLGraphStore.pdf?lang=en.
[154] G. Gardarin, Bases de donnes, les systmes et leurs langages. Eyrolles, 1994.
[155] M. Klein et N. F. Noy, A component-based framework for ontology evolution , in
Proceedings of the IJCAI, vol. 3, Citeseer, 2003.
[156] L. Bellatreche, A. Giacometti, P. Marcel, H. Mouloudi et D. Laurent, A framework
for combining rule-based and cost-based approaches to optimize olap queries , in 1me
Journe Francophone sur les Entrepts de donnes et lAnalyse en ligne (EDA05), Revue
des Nouvelles Technologies de lInformation, RNTI-B-1, p. 177196, 2005.
[157] L. Bellatreche, K. Boukhalfa et P. Richard, Referential horizontal partitioning selection problem in data warehouses: Hardness study and selection algorithms , International Journal of Data Warehousing and Mining, vol. 5, p. 123, March 2009.
167
Bibliographie
[158] B. Soumia, Le dploiement, une phase part entire dans le cycle de vie des entrepts
de donnes : application aux plateformes parallles. Thse doctorat, ENSMA - Poitiers,
juin 2014.
[159] M. G. Lohman, D. Daniels, L. M. Haas, R. Kistler et P. G. Selinger, Optimization
of nested queries in a distributed relational database , Proceedings of the International
Conference on Very Large Databases, p. 403415, August 1984.
[160] M. T. zsu et P. Valduriez, Principles of Distributed Database Systems. Prentice Hall,
1991.
[161] P. M. G. Apers, Data allocation in distributed database systems , ACM Transactions
on database systems, vol. 13, no. 3, p. 263304, 1988.
[162] L. Bellatreche, K. Karlapalem et Q. Li, Complex methods and class allocation in
distributed object-oriented databases , in the 5th International Conference on Object
Oriented Information Systems (OOIS98), p. 239256, September 1998.
[163] G. Gardarin, J.-R. Gruser et Z.-H. Tang, A cost model for clustered object-oriented
databases , VLDB, p. 323334, 1995.
[164] G. Gardarin, J.-R. Gruser et Z.-H. Tang, A cost-based selection of path expression
processing algorithms in object-oriented databases , vldb, p. 390401, 1996.
[165] E. Bertino et P. Foscoli, An analytical model of object-oriented query costs , Proceedings of the Fifth International Workshop on Persistent Object Systems, San Miniato
(Pisa), p. 241261, September 1992.
[166] E. Bertino, On modeling cost functions for object-oriented databases , IEEE Transactions on Knowledge and Data Engineering, vol. 9, p. 500508, May/June 1997.
[167] I. Tatarinov, S. Viglas, K. S. Beyer, J. Shanmugasundaram, E. J. Shekita et C. Zhang,
Storing and querying ordered xml using a relational database system , in SIGMOD
02: Proceedings of the ACM SIGMOD international conference on Management of data,
(New York, NY, USA), p. 204215, ACM Press, 2002.
[168] D. Florescu et D. Kossmann, A performance evaluation of alternative mapping schemes
for storing XML data in a relational database , rap. tech., NRIA Rocquencourt - RODIN,
1999.
[169] A. Maduko, K. Anyanwu, A. P. Sheth et P. Schliekelman, Estimating the cardinality of
rdf graph patterns , in WWW (C. L. Williamson, M. E. Zurko, P. F. Patel-Schneider et
P. J. Shenoy, ds), p. 12331234, ACM, 2007.
[170] E. P. Shironoshita, M. T. Ryan et M. R. Kabuka, Cardinality estimation for the optimization of queries on ontologies , SIGMOD Record, vol. 36, p. 1318, 2007.
[171] M. Stocker, A. Seaborne, A. Bernstein, C. Kiefer et D. Reynolds, Sparql basic graph
pattern optimization using selectivity estimation , in Proceedings of the 17th international conference on World Wide Web, WWW 08, (New York, NY, USA), p. 595604,
ACM, 2008.
168
[172] G. Neumann, Thomas et Weikum, Rdf-3x: a risc-style engine for rdf , Proc. VLDB
Endow., vol. 1, p. 647659, aot 2008.
[173] Z. Kaoudi, K. Kyzirakos et M. Koubarakis, Sparql query optimization on top of dhts ,
in International Semantic Web Conference (1), p. 418435, 2010.
[174] T. Neumann et G. Moerkotte, Characteristic sets: Accurate cardinality estimation for
rdf queries with multiple joins , in ICDE, p. 984994, 2011.
[175] P. G. Selinger, M. M. Astrahan, D. D. Chamberlin, R. A. Lorie et T. G. Price, Access
path selection in a relational database management system , in Proceedings of the 1979
ACM SIGMOD international conference on Management of data, p. 2334, ACM, 1979.
[176] A. Bernstein, C. Kiefer et M. Stocker, Optarq: A sparql optimization approach based
on triple pattern selectivity estimation , rap. tech., University of Zurich, Department of,
2007.
[177] C. Weiss, P. Karras et A. Bernstein, Hexastore: sextuple indexing for semantic web
data management , Proceedings of the VLDB Endowment, vol. 1, p. 10081019, Aug.
2008.
[178] J. Groppe, S. Groppe, S. Ebers et V. Linnemann, Efficient processing of sparql joins in
memory by dynamically restricting triple patterns , in Proceedings of the 2009 ACM
symposium on Applied Computing, SAC 09, (New York, NY, USA), p. 12311238,
ACM, 2009.
[179] T. M. Connolly et C. E. Begg, Database Systems: A Practical Approach to Design, Implementation and Management (4th Edition). Pearson Addison Wesley, 2004.
[180] M. Jarke et J. Koch, Query optimization in database systems , ACM Comput. Surv.,
vol. 16, p. 111152, 1984.
[181] R. Bellman, Dynamic programming and lagrange multipliers , Proceedings of the
National Academy of Sciences of the United States of America, vol. 42, no. 10, p. 767,
1956.
[182] F. Goasdoue, K. Karanasos, J. Leblay et I. Manolescu, View selection in semantic web
databases , computer science, INRIA, 2011. Rapport de recherche no. 7738.
[183] J. Perez, M. Arenas et C. Gutierrez, Semantics and complexity of sparql , in The
Semantic Web-ISWC 2006, p. 3043, Springer, 2006.
[184] F. Frasincar, G.-J. Houben, R. Vdovjak et P. Barna, Ral: An algebra for querying rdf ,
World Wide Web, vol. 7, p. 83109, mars 2004.
[185] R. Cyganiak, A relational algebra for SPARQL , rap. tech., Digital Media Systems
Laboratory, HP Laboratories Bristol, 2005.
[186] J. Yang, K. Karlapalem et Q. Li, Algorithms for materialized view design in data warehousing environment , in VLDB, p. 136145, 1997.
[187] K. Amira, Linteraction au service de loptimisation grande chelle des entrepts de
donnes relationnels. Thse doctorat, ENSMA - Poitiers, Dcembre 2013.
169
Bibliographie
[188] A. Boukorca, L. Bellatreche et S.-A. B. Senouci, Votre plan dexcution de requtes
est un circuit intgr : Changer de mtier , in EDA, p. 133148, 2013.
[189] A. C. Bloesch et T. A. Halpin, Conquer: a conceptual query language , in Conceptual
Modeling ER96, p. 121133, Springer, 1996.
[190] D. Theodoratos et T. K. Sellis, Designing data warehouses , Data Knowl. Eng.,
vol. 31, p. 279301, 1999.
[191] J. D. Ullman, Principles of Database Systems, 2nd Edition. Computer Science Press,
1982.
[192] E. Wong et K. Youssefi, Decomposition - a strategy for query processing , ACM Trans.
Database Syst., vol. 1, p. 223241, 1976.
[193] S. Chaudhuri et V. R. Narasayya, An efficient cost-driven index selection tool for microsoft sql server , in Proceedings of the 23rd International Conference on Very Large
Data Bases, VLDB 97, (San Francisco, CA, USA), p. 146155, Morgan Kaufmann Publishers Inc., 1997.
[194] J. U. H. Garcia-Molina et J. Wisdom, Database Systems: The Complete Book. Pearson
Education Inc, 2009.
[195] J. Yang, K. Karlapalem et Q. Li, A framework for designing materialized views in data
warehousing environment , in ICDCS, p. 458465, 1997.
[196] P. Toth et S. Martello, Knapsack problems: Algorithms and computer implementations , Discrete Mathematics and Optimization. Wiley, 1990.
[197] L. Troiano, D. De Pasquale et P. Marinaro, Genetic algorithms in java , 2014. URL:
http://jenes.intelligentia.it.
[198] R. Hylock, A comparison of heuristic algorithms to solve the view selection problem ,
Information Systems, p. 27, 2005.
[199] A. Shukla, P. Deshpande, J. F. Naughton et al., Materialized view selection for multidimensional datasets , in VLDB, vol. 98, p. 488499, 1998.
[200] H. Gupta et I. S. Mumick, Selection of views to materialize under a maintenance cost
constraint , in Database Theory-ICDT99, p. 453470, Springer, 1999.
[201] K. Wilkinson et K. Wilkinson, Jena property table implementation , in In SSWS, 2006.
[202] Y. Mengdong et G. Wu, Caching intermediate result of sparql queries , in 20th International World Wide Web Conference (WWW2011), p. 159, March/April 2011.
170
Annexe
4. SELECT * WHERE {
?x rdf:type ub:FullProfessor.
?x ub:worksFor http://www.Department0.University0.edu.
?x ub:name ?y1.
?x ub:emailAddress ?y2.
?x ub:telephone ?y3. } ;
5. SELECT ?x WHERE { ?x
rdf:type
ub:Person).}
6. SELECT ?x WHERE { ?x
rdf:type
ub:Student.}
171
ub:UndergraduateStudent.
ub:takesCourse
GraduateCourse0. } ;
ub:hasAlumnus
rdf:type
http://www.University0.edu. } ;
ub:UndergraduateStudent.};
172
1.1
16
1.2
17
1.3
17
1.4
20
1.5
31
1.6
33
1.7
34
1.8
34
1.9
36
36
38
38
39
40
41
42
42
43
44
50
173
55
2.2
57
2.3
62
2.4
65
2.5
67
2.6
68
3.1
Architecture OntoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
3.2
90
3.3
91
3.4
95
3.5
97
3.6
97
4.1
4.2
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.15 Temps de traitement de requtes sur LUBM100 sur la BDBO verticale . . . . . 141
5.16 Temps de traitement de requtes sur LUBM10 sur la BDBO Binaire . . . . . . 142
174
5.17 Temps de traitement de requtes sur LUBM100 sur la BDBO Binaire . . . . . 142
5.18 Temps de traitement de requtes sur LUBM10 sur la BDBO horizontale . . . . 142
5.19 Temps de traitement de requtes sur LUBM100 sur la BDBO horizontale . . . 143
5.20 Temps de traitement de requtes sur LUBM10 sur la BDBO native . . . . . . . 144
5.21 Temps de traitement de requtes sur LUBM100 sur la BDBO native . . . . . . 145
5.22 Temps total de traitement de la charge de requtes sur les BDBO
. . . . . . . 145
. . . . 146
175
1.1
28
1.2
29
1.3
1.4
3.1
75
89
3.3
90
3.4
94
4.1
4.2
4.3
4.4
Cots en termes dE/S selon le modle de cot. (A.V: Approche verticale) . . . 115
5.1
5.2
3.2
177
44
Glossaire
Rsum
La forte volumtrie des donnes dcrites par des ontologies a conduit la naissance des
bases de donnes base ontologique (BDBO). Les communauts industrielles et acadmiques
se sont intresses de prs cette technologie, o plusieurs solutions ont t proposes pour
reprsenter, stocker les donnes smantiques au sein des SGBD et manipuler ses donnes via
des langages de requtes comme SPARQL et OntoQL.
Paralllement, la conception physique est devenue une tape primordiale dans le cycle de vie
de conception des bases de donnes avances. Durant cette phase, des structures doptimisation
de requtes slectionnes. Si de nombreux travaux ont t mens sur la conception physique
dans le contexte des bases de donnes traditionnelles, peu se sont intresss la conception
physique dans les BDBO. Aprs une analyse approfondie des principales BDBO existantes,
nous affirmons que leur conception physique est plus complexe. Cela est d leur diversit qui
porte sur : (1) des formalismes supports : chaque BDBO utilise un formalisme particulier pour
dfinir ses ontologies (OWL, PLIB ou FLIGHT) ; (2) des modles de stockage : une varit de
modles de stockage (reprsentation horizontale, spcifique, verticale, etc.) sont utiliss pour les
BDS et (3) des architectures des SGBD cibles supportant ces bases. Trois types darchitecture
existent : (a) architecture "deux quarts" qui est celle des BD traditionnelles, o les ontologies et
les donnes sont stockes ensemble. (b) Le second type darchitecture qualifi de "trois quarts"
spare les ontologies des instances ontologiques; (c) la dernire architecture dite "quatre quarts"
ajoute la prcdente une partie appele mta-schma.
Notons que le modle de cot est la composante principale de la phase de conception physique. Il permet de guider la slection des structures doptimisation et quantifier sa qualit.
Pour cette raison, nous avons dvelopp des modles de cots mathmatiques pour estimer
le cot de chargement des donnes et le temps de rponse des requtes en termes de nombre
dEntres-Sorties entre le disque et la mmoire pour chaque type de BDBO. Les rsultats thoriques sont confronts avec les rsultats pratiques obtenus partir de six BDBO dont trois
industrielles (Oracle et IBM SOR, DB2RDF) et trois acadmiques (Jena, Sesame et OntoDB,
dvelopp au laboratoire LIAS de lISAE-ENSMA). Ces modles de cots ont t utiliss dans
le processus de slection des vues matrialises, des structures doptimisation populaires dans
le contexte des bases de donnes. Nous avons propos deux approches de matrialisation : une
approche conceptuelle et une approche physique. Dans la premire approche, la slection des
vues matrialises est faite sur les classes et les proprits utilises par les requtes dinterrogation (SPARQL). Dans lapproche physique, la slection prend en compte larchitecture et les
modles de stockage du SGBD cible. Des exprimentations ont t conduites pour valuer la
qualit de nos approches en les confrontant avec les principaux travaux existants.
181
Rsum
La forte volumtrie des donnes dcrites par des ontologies a conduit la naissance des bases
de donnes base ontologique (BDBO). Plusieurs communauts se sont intresses cette technologie
et ont propos des solutions pour persister les donnes smantiques dans des SGBD.
Paralllement, la conception physique est devenue une tape primordiale dans le cycle de vie
de conception des bases de donnes (BD). Durant cette phase, des structures doptimisation sont
slectionnes. Si de nombreux travaux ont t mens sur la conception physique dans le contexte des
BD traditionnelles, peu se sont intresss la conception physique dans les BDBO qui est plus
complexe. Cette complexit est due la diversit des BDBO qui porte sur des formalismes supports,
des modles de stockage et des architectures utiliss.
Pour guider la slection des structures doptimisation et mesurer sa qualit, nous avons
dvelopp un modle de cot pour estimer le cot des requtes dans les BDBO. Les rsultats
thoriques sont confronts avec les rsultats pratiques obtenus partir de six BDBO dont trois
industrielles (Oracle et IBM SOR, DB2RDF) et trois acadmiques (Jena, Sesame et OntoDB du LIAS
de l'ISAE-ENSMA). Ce modle de cot a t utilis dans le processus de slection des vues
matrialises. Nous avons propos deux approches de matrialisation : une approche conceptuelle o
la slection des vues matrialises est faite sur les classes et les proprits utilises par les requtes et
une approche simule o la slection prend en compte la diversit des BDBO. Des exprimentations
ont t conduites pour valuer la qualit de nos approches en les confrontant avec les principaux
travaux existants.
Mots-cls : Ontologies (informatique), Bases de donnes--Conception, Bases de donnes-Interrogation, ArchitectureInformatique, Diversit des bases de donnes base ontologique,
Optimisation des requtes, Conception physique, Vues matrialises
Abstract
The high volume of data described by ontologies led to the creation of Ontology-Based
Database (OBDB). Many communities are interested in this technology and have proposed solutions
to persist semantic data in DBMS.
Meanwhile, the physical design has become an essential step in the life cycle of database
design, in which optimization structures are selected. While many studies have been conducted on the
physical design in the context of traditional databases, few have focused on the physical design in
OBDB which is more complex. This complexity is due to the diversity of OBDB which focuses on
formalisms supported, storage models and architectures used.
To guide the selection of optimization structures, we have developed a cost model to estimate
the cost of queries in OBDB. The theoretical results are compared with the practical results obtained
from six OBDB including three industrial (Oracle, IBM SOR and DB2RDF) and three academic (Jena,
Sesame and OntoDB of the LIAS Lab of ISAE-ENSMA). This cost model was used in the
materialized views selection process. We proposed two approaches of materialized views selection: a
conceptual approach where the selection of materialized views is made on the classes and properties
used by queries and a simulated approach where the selection takes into account the diversity of
OBDB. Experiments were conducted to evaluate the quality of our approaches and compare them with
the main existing work.
Mots-cls : Ontologies (Information retrieval), Database design, Querying (Computer science),
Architecture--Data processing, Ontology-based database diversity, Query optimisation, Physical
design, Materialized views.