![]()
Précédent : L'Espace et le Temps : Bases
Remonter : Bases de données multimédia
Suivant : Les données hétérogènes
Participants : Serge Abiteboul, Vassilis Christophides, Sophie Cluet, Michel Scholl, Patrick Laonet
Nous nous sommes intéressés les années précédentes à la modélisation et l'interrogation des documents structurés (SGML ou autres) dans une base de données objet. Cette année, nous avons poursuivi ce travail et avons également abordé les problèmes de l'optimisation.
Nous avons retravaillé et implanté un langage de requêtes adapté aux données textuelles que nous avons appelé POQL (Path Object Query Language ). Ce langage étend le langage OQL par l'introduction de nouveaux prédicats textuels et d'expressions de chemin généralisées (ECG), qui permettent d'exprimer des requêtes structurelles sans préciser toute la structure. Du point de vue de la modélisation, l'introduction dans le langage des prédicats textuels est relativement simple. Cependant, leur utilisation nécessite des techniques d'optimisation que nous avons étudiées dans le cadre plus général de l'interrogation des données virtuelles et qui seront abordées dans la section 3.2. Les expressions de chemin généralisées posent plus de problèmes. Grâce à l'utilisation de variables de chemins et d'attributs, une ECG permet l'interrogation simultanée des données et de leur structure, et ce, de façon simple et homogène. Les ECG posent des problèmes de typage et d'évaluation. Les premiers sont traités dans [1], les seconds dans [22, 1].
Nous proposons un traitement algébrique des ECG qui repose sur
l'extension d'une algèbre objet. Trois nouveaux opérateurs sont
introduits qui permettent la manipulation des chemins au niveau
du schéma et de la base, et la transformation de chemins en
données standard (c.a.d., des n-uplets). Cette approche
offre une sémantique claire et opérationnelle de POQL et a été la
base de l'implantation d'un interprète de requêtes que nous avons
réalisé au-dessus du système O
.
L'algèbre ouvre également la voie à de nouvelles techniques
d'optimisation que nous avons présentées dans [22] et qui s'appliquent aussi bien à des
données non textuelles. Enfin, elle est utilisée dans nos travaux
sur l'optimisation des requêtes sur les données virtuelles.
Le prototype développé est en cours de validation. Il est
utilisé sur des applications réelles dans le cadre du projet
européen Aquarelle. Nous avons également réalisé une première
interface permettant, via le Web, l'interrogation de
données textuelles stockées dans un système O
.