La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Laboratoire dInformatique Scientifique et Industrielle École Nationale Supérieure de Mécanique et dAérotechnique et Université de Poitiers OntoQL, un langage.

Présentations similaires


Présentation au sujet: "Laboratoire dInformatique Scientifique et Industrielle École Nationale Supérieure de Mécanique et dAérotechnique et Université de Poitiers OntoQL, un langage."— Transcription de la présentation:

1 Laboratoire dInformatique Scientifique et Industrielle École Nationale Supérieure de Mécanique et dAérotechnique et Université de Poitiers OntoQL, un langage dexploitation des bases de données à base ontologique Présenté par Stéphane JEAN sous la direction de Yamine AIT-AMEUR et Guy PIERRA le 5 décembre 2007 à lENSMA, Futuroscope Laboratoire Informatique Scientifique et Industrielle (LISI)

2 2 Motivation Base de Données à Base Ontologique Ontologies liens Données => Bases de Données à Base Ontologique (BDBO) Ontologies + Données + Liens Ontologies / Données Utilisation accrue des ontologies Nombreux modèles dontologies : RDF-Schema, OWL, PLIB, etc. Gros volumes de données à base ontologique Méta-données du Web Sémantique Bases de données composants et e-catalogue

3 3 Motivation Langage dexploitation de BDBO Ontologies Données Utilisation des ontologies par différentes communautés BD : Intégration, Indexation Sémantique IA : Web Sémantique Linguistique informatique : traitement du langage naturel => Grande hétérogénéité des architectures de BDBO Unification des modèles dontologies Elaboration dun langage dexploitation pour les BDBO RDF-Schema pour RDF-Suite, Sesame, RSTAR... PLIB pour OntoDB, OntoDB2 OWL pour DLDB, OntoMS Table de triplets pour 3Store, Jena1... Représentation binaire pour RDF-Suite, Sesame... Représentation horizontale pour OntoMS, OntoDB... Différents schémas de représentation Différents modèles dontologies

4 4 Motivation Intégration de bases de données Problème : lhétérogénéité sémantique Banque 1 Banque 2 Clients IDNomCréditAdresse AAADupont avenue Clément Ader Customer IDNameVIPCreditAddress AAADupontYes1 Conflits de nommage Conflits de structures Conflits dunités de mesures Une solution : les BDBO [NGuyen Xuan 06] Préservation dune compatibilité avec les BD usuelles Ontologie partagée Modèle Logique OntologieModèle LogiqueOntologie

5 5 PLAN 1- Architecture de BDBO cible 2- Exigences pour le langage 3- Le langage OntoQL 4- Mise en œuvre 5- Conclusion et perspectives 1- Architecture de BDBO cible Notion dontologie Modèle dontologies Base de données à base ontologique 2- Exigences pour le langage 3- Le langage OntoQL 4- Mise en œuvre 5- Conclusion et perspectives

6 6 Ontologie de domaine Une définition Quest-ce quune ontologie ? « An explicit specification of a conceptualization » [Gruber 93] Une ontologie = conceptualisation d'un domaine classes et propriétés Formelle Consensuelle Référençable « un dictionnaire formel et consensuel des catégories et propriétés dentités existant dans un domaine détude et des relations qui les lient » 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre

7 7 Typologie des ontologies BD Vocabulaire canonique des concepts dun domaine Trois points de vue = trois types d'ontologies complémentaires => modèle en couches identifiants + notions primitives {classes / propriétés / types} IA Possibilités de déductions Linguistique Informatique Termes dun domaine 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Ontologie Conceptuelle Canonique (OCC) Opérateurs déquivalence conceptuelle Ontologie Conceptuelle Non Canonique (OCNC ) { mots } + relations de similarités et linguistiques Ontologie Linguistique (OL)

8 Traitement du langage naturel Interface langagière pour les données OL = Représentation linguistique Couche Discours OL Référence pour lintégration sémantique Accès au niveau connaissance Vocabulaire canonique pour léchange 8 Liens entre les différents types dontologies : le modèle en oignon OCC = Prolongement naturel des modèles conceptuels Couche Intégration OCNC expression de classes Logique de description Fonction de Dérivation expression de propriétés Règles de dérivation OCNC = Introduction déquivalence conceptuelle Possibilité dinférence Flexibilité pour lintégration Modèle en oignon 3 couches aux capacités spécifiques Coexistence des différents modèles OCC Couche Caractérisation 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre

9 PLIB 9 Les modèles dontologies et le modèle en oignon Modèle dontologies unifié Modèle noyau extensible ~ RDF-S 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre OCNC OCC PLIB Fonctions de dérivation OWL Expressions booléennes de classes,... F-Logic Règles déductives … ~ RDF-S Classe, Property, Datatype LO RDF-Schema ~ Classe, Propriété, Type de données PLIB Noyau + Fonctions de dérivation OWL Noyau + Opérateurs des Logiques de Description F-Logic Noyau + Opérateurs de la Logique des Frames

10 10 Une typologie des BDBO Type 1 : Jena, 3Store Métabase Données Ontologie Métabase Type 2 : Sesame, RDF-Suite Métabase Métaschéma DonnéesOntologie Type 3 : OntoDB[Dehainsala 07] +Flexibilité - Efficacité Ajout/Suppression de propriétés/instances Beaucoup d' auto-jointures Clustering + Meilleure efficacité [RDF-Suite] - Modèle dontologies figé - Cadre dhypothèses + Modèle dontologies évolutif + Passage à léchelle Typage fort des propriétés Mono-instantiation 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre TRIPLES SUBJECTPREDICATEOBJECT Personnerdf:typerdfs:class Etudiantrdf:typerdfs:class Etudiantrdfs:subClassPersonne nomrdf:typerdf:property nomrdf:rangexsd:String ……… Etudiant#1rdf:typeEtudiant Etudiant#1nomPeter ……… Ontologie Instance Student ID student#1 name IDVALUE student#1Peter grade IDVALUE student#1PHD Property IDname 3 4grade Class IDname 1Person 2Student Property IDname 3 4grade Class IDname 1Person 2Student Attribute IDname 3ID 4name Entity IDname 1Class 2Property Student IDnamegrade Student#PeterPHD ………

11 11 Architecture cible Généralisation des BDBO de type 3 Métabase DonnéesOntologie Méta-Schéma Compatibilité avec larchitecture ANSI/SPARC Ajout du niveau ontologique suivant le modèle en couches Représentation du modèle dontologies utilisé Besoin dun langage homogène pour ce modèle cible 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre F-Logic OWL PLIB ~ RDF-S

12 12 PLAN 1- Architecture de BDBO cible 2- Exigences pour le langage Principales exigences Les langages SPARQL et RQL 3- Le langage OntoQL 4- Mise en œuvre 5- Conclusion et perspectives

13 13 Principales exigences pour un langage dexploitation de BDBO Métabase DonnéesOntologie Méta-Schéma - Exploitation des données au niveau logique : compatibilité SQL - Exploitation des données au niveau ontologique indépendance par rapport à une représentation logique Selon les 3 couches du modèle en oignon - Indépendance vis-à-vis dun modèle dontologies particulier 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre F-Logic OWL PLIB ~ RDF-S

14 14 Les langages dexploitation pour les BDBO de type I Langages définis pour exploiter des données RDF Exemples : SPARQL, RDQL, etc. SELECT ?p ? FROM WHERE { ?p type Person. ?p mbox ? ?p name ?name FILTER (name=durand) } ORDER BY DESC (? ) LIMIT 5 Langage représentatif : SPARQL W3C Proposed Recommendation « graph-matching query language » Métabase Données BDBO de Type 1 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre

15 Analyse du langage SPARQL Quelles sont les instances de la classe personne ? TRIPLES SUBJECTPREDICATEOBJECT Etudiantrdfs:subClassOfPersonne Salariérdfs:subClassOfPersonne ……… durandrdf:typePersonne jeanrdf:typePersonne dupontrdf:typePersonne morinrdf:typeEtudiant dupontrdf:typeSalarié Métabase SELECT ?p WHERE { ?p rdf:type Personne } Données 15 - Exploitation des données au niveau logique : Compatibilité SQL - Exploitation des données au niveau ontologique - Indépendance dun modèle dontologies particulier Instances liées à leurs classes directes Instances liées à leurs classes directes et indirectes : dépend de limplantation 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre caché dans linterpréteur TRIPLES SUBJECTPREDICATEOBJECT Etudiantrdfs:subClassOfPersonne Salariérdfs:subClassOfPersonne ……… durandrdf:typePersonne morinrdf:typeEtudiant dupontrdf:typeSalarié ?p durand ?p durand morin dupont en fonction de limplantation ?p durand morin dupont

16 16 Les langages dexploitation pour les BDBO de type II Langages définis pour exploiter des ontologies RDF-Schema et leurs instances Exemples : RQL, SeRQL, eRQL, etc. SELECT P, FROM Person{P}.name{Name}, {P}mbox{ } WHERE Name=durand Langage représentatif : RQL Implanté sur RDF-Suite et Sesame Complété par RUL et RVL (LMD et LDV) Notion dexpression de chemin généralisée DonnéesOntologie Métabase BDBO de type 2 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre

17 Analyse du langage RQL C Person Student Employee P durand P morin dupont Métabase SELECT P FROM Person{P} DonnéesOntologie SELECT P FROM ^ Person{P} Salarié ID jean 17 Requête sur les données - Exploitation des données au niveau logique : Compatibilité SQL - Exploitation des données au niveau ontologique - Indépendance dun modèle dontologies particulier Requête sur les ontologies Quelles sont les instances de la classe personne ? Quelles sont les classes des ontologies ? SELECT * FROM Class{C} (pas OL) 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Personne ID durand Salarié ID dupont Etudiant ID morin Class IDnameFRnameEN… PersonPersonnePerson StudentEtudiantStudent EmployeeSalariéEmployee Subsomption subsup StudentPersonne EmployeePersonne

18 18 PLAN 1- Architecture de BDBO cible 2- Exigences pour le langage 3- Le langage OntoQL Exigence 1 : Compatibilité SQL Exigence 2 : Exploitation niveau ontologique Exigence 3 : Exploitation des ontologies 4- Mise en œuvre 5- Conclusion et perspectives

19 Exigence 1 : Exploitation des données au niveau logique Métabase Données Sous-ensemble de SQL supporté par les SGBD usuels 19 CREATE TABLE Table_Student ( id INTEGER, pname VARCHAR(32 ), pgrade VARCHAR(32 ) ) LDD INSERT INTO Table_Person VALUES (p2, Tony, M) LMD SELECT id, pgender FROM Table_Person LID 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre idpgrade p1M Table_Person IDpnamepgender p1JackM p2TonyM Table_Student IDpnamepgrade

20 CREATE #Class l:Student UNDER l:Person ( DESCRIPTOR (#name[fr]=Etudiant) #Property ( l:grade String ) ) Exigence 2 : Exploitation des données au niveau ontologique, couche OCC Métabase Données Ontologie Entity IDname 1Class 2Property Attribute IDname 3ID 4name Extension et adaptation de SQL99 20 SELECT l:oid, l:gender FROM ONLY (l:Person) Couche OCC INSERT INTO l:Person VALUES (Tony, M) SET NAMESPACE l = LDD LMD Distinction niveaux logique/ontologique : CREATE EXTENT OF l:Student (name, grade) SELECT l:oid, l:gender FROM l:Person LID Distinction niveaux ontologie/modèle dontologie : # 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre oidgender p1M e1NULL oidgender p1M Class IDnameFRnameEN… PersonPersonnePerson StudentEtudiantStudent Subsomption subsup EmployeePersonne StudentPersonne Table_Person IDpnamepgender p1JackM p2TonyM Table_Employee IDpnamepsalary e1Tim10000 Table_Employee IDpnamepgrade

21 Exigence 2 : Exploitation des données au niveau ontologique, couche OCNC Métabase DonnéesOntologie Entity IDname 1Class 2Property Attribute IDname 3ID 4name Langage de définition de vues (LDV) 21 Couche OCNC Ex : Homme = Personne & sexe = M CREATE #Class Homme AS VIEW UNDER Personne CREATE VIEW OF Homme AS SELECT * FROM Personne WHERE gender = M Définition de classes OCNC Définition dinstances 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Class IDnameFRisView… Personne False Homme True Subsomption subsup HommePersonne Table_Person IDpnamepgender p1JackM ……… Vue_Homme IDpnamepgender p1JackM ………

22 Exigence 2 : Exploitation des données au niveau ontologique, couche OL Métabase DonnéesOntologie Entity IDname 1Class 2Property Attribute IDname 3ID 4name Utilisation de termes dans les instructions OntoQL 22 Couche OL SET LANGUAGE = EN SELECT oid, gender FROM Person SET LANGUAGE = FR SELECT oid, sexe FROM Personne SELECT oid, gender FROM Person Ex : rechercher lidentifiant et le sexe des personnes 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Class IDnameFRnameEN… PersonPersonnePerson StudentEtudiantStudent Person IDnameFRnameEN… gendersexegender Table_Person IDpnamepgender p1JackM ……… Table_Student IDpnamepgrade s1PeterPHD ………

23 Exigence 3 : Indépendance dun modèle dontologies particulier Métabase DonnéesOntologie Définition dun modèle dontologies noyau extensible (préfixe #) 23 ~ RDF-S CREATE ENTITY #PLIB_Class UNDER #Class ( #note String ) PLIB CREATE ENTITY #OWL_Class UNDER #Class ( #deprecated Boolean) OWL Langage de Définition dOntologies (LDO) INSERT INTO #PLIB_Class (#name, #note) VALUES (Personne, …) LMO SELECT #name[fr], #definition FROM #Class LIO Métaschéma 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Table_Person IDpnamepgender p1JackM ……… Table_Student IDpnamepgrade s1PeterPHD ……… Class IDnameFR… PLIB_Class IDnameFRnote… Person …… OWL_Class IDnameFRdeprecated… EmployeeSalariéFalse name[fr]definition Personne… Salarié… Entity IDname 1Class 2PLIB_Class 3OWL_Class Attribute IDname 10id 11name 12note 13deprecated

24 Interrogation simultanée des ontologies et des données Métabase DonnéesOntologie Combinaison du LID et du LIO 24 SELECT C.#name[fr] FROM #Class AS C WHERE C.#name LIKE Per% SELECT p.name FROM Personne p typeOf(.) Ontologie vers Données Données vers Ontologie LID LIO, C AS i, i.oid C AS i, typeof(p ).#name[fr] 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Entity IDname 1Class 2Property Attribute IDname 10id 11name Class IDnameFRnameEN… PersonPersonnePerson StudentEtudiantStudent Subsomption subsup StudentPerson Table_Student IDpnamepgrade s1PeterPHD ……… Table_Person IDpnamepgender p1JackM ……… name[fr]oid Personnep1 Personnes1 …… name[fr] Personne name#name[fr] JackPersonne PeterEtudiant …… name Jack Peter …

25 25 PLAN 1- Architecture de BDBO cible 2- Exigences pour le langage 3- Le langage OntoQL 4- Mise en œuvre Formalisation Prototypage 5- Conclusion et perspectives

26 26 Formalisation Modèle formel dune BDBO Métabase Données Ontologie Méta-Schéma Content: Extent, I Type I Extent SchemaProp Extent 2 p Val I P I Ontology: C, P SuperClasses C 2 C propDomain P C propRange P C Nomination: C Extent Abstraction: Extent C Model M = (E, A, OC, C, P, Extent) Meta-schema: E, A, OC SuperEntities E 2 E Type OC E AttDomain A E AttRange A E Val OC A OC 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre F-Logic OWL PLIB ~ RDF-S

27 27 Formalisation Algèbre OntoAlgebra pour les BDBO Conçue à partir de lalgèbre Encore définie pour les BDOO Signature des opérateurs Relation x … Relation Tuples composés de valeurs simples, déléments des ontologies (OC) ou dinstances de classes (I) Principaux opérateurs : OntoProject, OntoSelect, OntoOJoin Supprime les tuples de la relation en entrée ne respectant pas un prédicat donné OntoProject : Relation x 2 String x Fonction Relation OntoSelect : Relation x Prédicat Relation Applique une ou plusieurs fonctions aux tuples en paramètre OntoOJoin : Relation x Relation X Predicat Relation Réalise la jointure entre deux relations TUPLE [ ] x 2 V 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre

28 28 Formalisation Sémantique des opérateurs Opérateurs dinterrogation des ontologies Opérateurs dinterrogation des données Propriétés non valuées Opérateurs dinterrogation des ontologies et des données Lien entre les éléments de lontologie et les instances de classes 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre éléments des ontologies = instance dun modèle dontologies (un modèle orienté-objet) Sémantique des opérateurs de ENCORE Introduction de la valeur NULL TYPEOF : I C OntoAlgebra Interprétation du langage OntoQL Requête OntoQL Expression algébrique de OntoAlgebra

29 29 Formalisation Techniques doptimisation Règles déquivalence : Ex : pousser les sélections en bas de larbre algébrique 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Métabase Données Ontologie SELECT * FROM Person WHERE gender = M SELECT * FROM ONLY(Person) WHERE gender = M UNION SELECT * FROM ONLY(Employee) WHERE gender = M UNION SELECT * FROM ONLY(Student) WHERE gender = M SELECT * FROM ONLY(Person) WHERE gender = M Méta-schéma Technique dévaluation partielle : Propriété non utilisée => pas daccès à la partie données pour cette propriété Class IDnameFRnameEN… PersonPersonnePerson EmployeeSalariéEmployee StudentEtudiantStudent Subsomption subsup EmployeePerson StudentPerson Table_Person IDpnamepgender p1JackM Table_Employee IDpnamepsalary e1Tim10000 Table_Student IDpnamepgrade s1JohnPhD

30 30 Prototypage Implantation de OntoQL sur OntoDB Modèle de données Content: ExtentOntology: C Nomination: C Extent Meta-schema: E, I, P, A, OC 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre name IDVALUE 111Durand Personne ID 111 Partie méta-schéma Partie ontologie Partie méta-base Partie données IDVALUE title IDVALUE 112BD Cours ID 112 note IDVALUE 1124 EPersonne ridPnameP ECours ridPtitlePnote 112BD20 Item_Class ridname… 11Personne… Property_det ridname… 12 … rdfs:Class Idlabel… 11Personne… rdf:Property Idlabel… 12 … Attribute Idname… 12name… Entity Idname… 11Item_Class… Représentation binaire

31 31 Prototypage Traitement dune requête OntoQL Requête OntoQL SELECT nom as n FROM Personne Expression algébrique OntoAlgebra Expression algébrique Algèbre Relationnelle Requête SQL OntoDB Exemple Traitement dune requête OntoQL OntoQL SELECT pnom AS n FROM EPersonne UNION SELECT pnom AS n FROM ESalarié SQL OntoProject ext* Personne Arbre OntoAlgebra EPersonnepnom n ESalariénull n Arbre Algèbre Relationnelle 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre

32 32 Prototypage Outils associés au langage OntoQL Métabase DonnéesOntologie Méta-Schéma Moteur OntoQLJOBDBC OntoQL+ OntoQBE OntoAPI SPARQL Outils Applications Projet ANR e-WOK HUB : Géosciences Projet EpiSEM : Pétrographie Bases de données techniques : Ingénierie Recherche par mots-clés 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre

33 33 PLAN 1- Architecture de BDBO cible 2- Exigences pour le langage 3- Le langage OntoQL 4- Mise en œuvre 5- Conclusion et perspectives

34 34 Conclusion 2. Conception des BD : extension de larchitecture ANSI/SPARC 1.Théorie des ontologies : modèle dontologies unifié à sémantique partagée et extensible 3. Définition dun langage dexploitation de BDBO : le langage OntoQL 4. Mise en oeuvre du langage OntoQL Exploitation des données au niveau logique : compatibilité SQL Exploitation des données au niveau ontologique (OCC, OCNC, OL) Formalisation : modèle de données dune BDBO + OntoAlgebra Indépendance vis-à-vis dun modèle dontologies donné (LDO, LMO, LIO) Prototypage : implantation de OntoQL sur OntoDB + outils associés Model = (E, A, OC, C, P, Extent) OntoProject : Relation x 2 String x Fonction Relation OntoSelect : Relation x Predicat Relation OntoOJoin : Relation x Relation X Predicat Relation Moteur OntoQL JOBDBC OntoQL+ OntoQBE … MétaSchéma Ontologie Métabase Données

35 35 Perspectives Extension sémantique du modèle noyau de OntoQL Évolution du langage OntoQL Autres contextes dutilisation de OntoQL Ingénierie Dirigée par les Modèles : transformation de modèles Optimisation des requêtes OntoQL Indexation sémantique de base de données Construction automatique des relations de subsomptions Approche « plugin » Ontologies émergentes : enrichissement dontologies locales Techniques usuelles (Vues matérialisées, Index, etc.) Techniques particulières (Partitionnement par langue naturelle) Requêtes paramétriques

36 36 Merci de votre écoute ?


Télécharger ppt "Laboratoire dInformatique Scientifique et Industrielle École Nationale Supérieure de Mécanique et dAérotechnique et Université de Poitiers OntoQL, un langage."

Présentations similaires


Annonces Google