Juliette Dibie-Barthélemy2 A Data Warehouse that Gathers Several Formalisms to Capture Data Heterogeneity, Imprecision and Incompleteness in the Field of Food Safety Patrice Buche1 Juliette Dibie-Barthélemy2 Ollivier Haemmerlé2 Rallou Thomopoulos3 1Unité INRA - Mét@Risk 16, rue Claude Bernard 75231 PARIS Cedex 05 2UMR INA P-G / INRA MIA UER d’informatique 16, rue Claude Bernard 75231 PARIS Cedex 05 3INRA / UMR IATE Bat. 31, 2 place Viala 34060 Montpellier Cedex 01 EDA’2005
Plan de l’exposé Contexte Présentation du système MIEL++ Le sous-système XML Conclusion et perspectives
Contexte Application Sym’Previus, Mét@risk Données Notre travail: Analyse du risque chimique et microbiologique dans les aliments. Sym’Previus, Mét@risk Données Données scientifiques provenant de la bibliographie internationale, de sources industrielles, institutionnelles, … Notre travail: Créer un outil pour: stocker les données; interroger les données.
Contexte Contenu des données Comportement de germes pathogènes (e.g.: Listeria) et prévalence de contaminants chimiques (e.g.: Mercure) dans les matières premières et les produits transformés au cours du processus de transformation (chauffage, conservation, …) et de distribution. Spécificités des données Incomplètes Imprécises Hétérogènes Évolutives Requêtes floues sur un entrepôt de données ouvert sur le Web Données représentées par des distributions de possibilité Données faiblement structurées
Plan de l’exposé Contexte Présentation du système MIEL++ Le sous-système graphes conceptuels Le sous-système XML Conclusion et perspectives
MIEL++ graphical user interface MIEL++ : architecture globale MIEL++ graphical user interface queries answers Global schema Ontology Views XML base Xquery query XML fragments XML wrapper RDB wrapper CG wrapper SQL query Query graph Answer graphs Tuples relational database conceptual graph base
Pasteurized WholeMilk MIEL++ – Ontologie Une taxonomie de termes Ensemble d’attributs interrogeables (aliments, contaminants...), chacun ayant un domaine de définition : Numérique (valeur de pH), symbolique (liste de noms d’auteurs), symbolique hiérarchisé. Whole Milk HalfSkim Milk Milk Meat Food Skim Milk Poultry Beef Pork Pasteurized Milk Pasteurized WholeMilk Un schéma relationnel: ensemble de relations définies dans les bases de données locales de l’entrepôt (la relation FoodpH)
MIEL++ – Syntaxe d’une requête Vue dans laquelle la requête est posée {a1, …, ap | Vue(a1, …, an) (ap+1 vp+1) … (am vm)}1pmn Attributs de projection Critères de sélection
Critères de sélection flous Expressions de préférences (attr val) attribute name fuzzy set (Temperature HumanBodyTemperature) 35 36,5 37,5 43 °C HumanBodyTemperature 37,2 34 41 0,36 1
MIEL++ – Forme d’une réponse Réponse à une requête dans MIEL++ {a1, …, ap | Vue(a1, …, an) (ap+1 vp+1) … (am vm)}1pmn tuple {[a1, …, ap], d}
Degrés d’adéquation d’une donnée floue à un critère flou Degré de possibilité [Zadeh 78] Degré de nécessité [Dubois&Prade 88] Formule (Q;D) = sup (min (µQ; D)) N(Q;D) = 1 - (Q;D) = inf (max (µQ;1-D)) Exemple Q D Q D Signification mesure d’intersection mesure d’inclusion Les sous-ensembles flous à comparer doivent être définis sur le même domaine
Fermeture d’un sous-ensemble flou sur domaine hiérarchisé requête Q données D 1 1 0,6 0,4 0,2 Skim Milk Pasteurized Milk Whole Milk Milk Pasteurized WholeMilk 0,6 0,4 Whole Milk HalfSkim Milk Milk Meat Substrate Skim Milk Poultry Beef Pork Pasteurized Milk Pasteurized WholeMilk 0,6 1 µQ Whole Milk HalfSkim Milk Milk Meat Substrate Skim Milk Poultry Beef Pork Pasteurized Milk Pasteurized WholeMilk 0,2 1 0,4 πD D satisfait Q avec le degré de possibilité (Q,D) = sup (min (µQ ; πD)) = 0,6
Plan de l’exposé Contexte Présentation du système MIEL++ Le sous-système XML Conclusion et perspectives
Base XML floue: alimentation avec AQWEB Article Valeur pH Fromage de chèvre 6.6 Oignon rouge 5.2 Extraction de tableaux FSML ontologie MIEL++ (Article, Aliment) (Valeur pH, pH) Fromage de chèvre Aliment = {(fromage,0.66) (lait de chèvre,0.5)} 6.6 pH = 6.6 Oignon rouge Aliment = {(oignon d’Egypte, 0.5), (chou rouge, 0.5)} 5.2 pH = 5.2 Base de données relationnelles Base de graphes conceptuels XML base sml AlimentpH(Aliment, pH)
Exécution d’une requête XML Q1 : {a,b | V1(a,b,c) (c HumanBodyTemperature)} Sélection des arbres vues Génération de requêtes XML A1 = {w1, …, wn, 1} A2 = {x1, …, xn, 2} A3 = {y1, …, yn, 3} A4 = {z1, …, zn, 4} Valuation de la requête Base XML
Exécution d’une requête XML : un exemple Tableau Contenu Aliment ValF Item MD pH ql Source ligneRel AlimentPH originalVal finalVal DFS Tableau Contenu Aliment ValF Item fromage MD 1 fromage frais 0.5 pH ql+pl Source ligneRel AlimentPH originalVal finalVal ql+pl+sl DFS Tableau Contenu Aliment ValF Item fromage MD 0.66 lait de chèvre 0.5 pH 6.6 Source ligneRel AlimentPH originalVal fromage de chèvre finalVal DFS Requête Vue Données La réponse : { =0.66, fromage de chèvre, 0.66/fromage+0.5/lait de chèvre, pH=6.6}
Conclusion MIEL++ : architecture médiateur BD relationnelle étendue au flou (environ 10000 données), en production GC étendus au flou (environ 150 graphes conceptuels), prototype avancé validé XML flou (156 tableaux issus de documents scientifiques), étude de pertinence effectuée, prototype avancé en cours de finalisation
Perspectives Extension du langage MIEL++: jointure entre sources de données Application au calcul de l’exposition des individus au risque chimique 2 sources de données: Base de contamination des aliments Base de consommation des aliments par des individus AQWEB: Prise en compte de l’incertitude dans la méthodologie d’annotation sémantique et conséquence sur l’interrogation MIEL++