Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Présenté par Stéphane JEAN
OntoQL, un langage d’exploitation des bases de données à base ontologique Présenté par Stéphane JEAN le 5 décembre 2007 à l’ENSMA, Futuroscope Laboratoire Informatique Scientifique et Industrielle (LISI) sous la direction de Yamine AIT-AMEUR et Guy PIERRA
2
Motivation Base de Données à Base Ontologique
Utilisation accrue des ontologies Nombreux modèles d’ontologies : 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 => Bases de Données à Base Ontologique (BDBO) Ontologies + Données + Liens Ontologies / Données Ontologies liens Données
3
Motivation Langage d’exploitation de BDBO
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 Différents modèles d’ontologies Différents schémas de représentation RDF-Schema pour RDF-Suite, Sesame, RSTAR ... Table de triplets pour 3Store, Jena1 ... Ontologies Données Représentation binaire pour RDF-Suite, Sesame ... PLIB pour OntoDB, OntoDB2 OWL pour DLDB, OntoMS Représentation horizontale pour OntoMS, OntoDB ... Unification des modèles d’ontologies Elaboration d’un langage d’exploitation pour les BDBO 3 3
4
Motivation Intégration de bases de données
Problème : l’hétérogénéité sémantique Conflits de nommage Conflits de structures Conflits d’unités de mesures Ontologie partagée Modèle Logique Ontologie Modèle Logique Modèle Logique Ontologie Modèle Logique Customer ID Name VIP Credit Address AAA Dupont Yes 1 000$ Clients ID Nom Crédit Adresse AAA Dupont 5 000€ 01 avenue Clément Ader Banque 1 Banque 2 Une solution : les BDBO [NGuyen Xuan 06] Préservation d’une compatibilité avec les BD usuelles 4 4
5
PLAN 1- Architecture de BDBO cible 1- Architecture de BDBO cible
Notion d’ontologie Modèle d’ontologies Base de données à base ontologique 2- Exigences pour le langage 3- Le langage OntoQL 4- Mise en œuvre 5- Conclusion et perspectives 1- Architecture de BDBO cible 2- Exigences pour le langage 3- Le langage OntoQL 4- Mise en œuvre 5- Conclusion et perspectives
6
Ontologie de domaine Une définition
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Qu’est-ce qu’une 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 d’entités existant dans un domaine d’étude et des relations qui les lient »
7
Typologie des ontologies
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre BD Vocabulaire canonique des concepts d’un domaine identifiants + notions primitives {classes / propriétés / types} Ontologie Conceptuelle Canonique (OCC) IA Possibilités de déductions Opérateurs d’équivalence conceptuelle Ontologie Conceptuelle Non Canonique (OCNC) Linguistique Informatique Termes d’un domaine { mots } + relations de similarités et linguistiques Ontologie Linguistique (OL) Trois points de vue = trois types d'ontologies complémentaires => modèle en couches 7 7
8
Liens entre les différents types d’ontologies : le modèle en oignon
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Couche Caractérisation OCC = Prolongement naturel des modèles conceptuels Référence pour l’intégration sémantique Accès au niveau connaissance Vocabulaire canonique pour l’échange Couche Intégration Couche Discours OL OCNC expression de classes Logique de description Fonction de Dérivation de propriétés Règles de dérivation OCNC = Introduction d’équivalence conceptuelle Possibilité d’inférence Flexibilité pour l’intégration OCC OL = Représentation linguistique Traitement du langage naturel Interface langagière pour les données Modèle en oignon 3 couches aux capacités spécifiques Coexistence des différents modèles 8 8
9
Les modèles d’ontologies et le modèle en oignon
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre 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 LO OCNC OWL Expressions booléennes de classes, ... PLIB Fonctions de dérivation ~ RDF-S OCC ~ RDF-S Classe, Property, Datatype PLIB F-Logic Règles déductives … Modèle d’ontologies unifié Modèle noyau extensible 9 9
10
Une typologie des BDBO +Flexibilité - Efficacité
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Métabase Données +Flexibilité - Efficacité Ajout/Suppression de propriétés/instances Beaucoup d' auto-jointures Clustering TRIPLES SUBJECT PREDICATE OBJECT Personne rdf:type rdfs:class Etudiant rdfs:subClass nom rdf:property rdf:range xsd:String … Etudiant#1 Peter Ontologie Instance Type 1 : Jena, 3Store Données Ontologie Métabase Type 2 : Sesame, RDF-Suite + Meilleure efficacité [RDF-Suite] - Modèle d’ontologies figé Class ID name 1 Person 2 Student Property ID name 3 4 grade Student ID student#1 name ID VALUE student#1 Peter grade ID VALUE student#1 PHD Entity ID name 1 Class 2 Property Attribute ID name 3 4 - Cadre d’hypothèses + Modèle d’ontologies évolutif + Passage à l’échelle Typage fort des propriétés Mono-instantiation Métabase Métaschéma Données Ontologie Type 3 : OntoDB[Dehainsala 07] Student ID name grade Student# Peter PHD … Class ID name 1 Person 2 Student Property ID name 3 4 grade 10 10
11
Architecture cible Généralisation des BDBO de type 3
2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Méta-Schéma Métabase OWL PLIB ~ RDF-S F-Logic Ontologie Données Compatibilité avec l’architecture ANSI/SPARC Ajout du niveau ontologique suivant le modèle en couches Représentation du modèle d’ontologies utilisé Besoin d’un langage homogène pour ce modèle cible 11 11
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 12 12
13
Principales exigences pour un langage d’exploitation de BDBO
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Méta-Schéma Métabase OWL PLIB ~ RDF-S F-Logic Ontologie Données - 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 d’un modèle d’ontologies particulier 13 13
14
Les langages d’exploitation pour les BDBO de type I
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Métabase Langages définis pour exploiter des données RDF Exemples : SPARQL, RDQL, etc. Données Langage représentatif : SPARQL W3C Proposed Recommendation « graph-matching query language » BDBO de Type 1 SELECT ?p ? FROM WHERE { ?p type Person . ?p mbox ? ?p name ?name FILTER (name=“durand”) } ORDER BY DESC (? ) LIMIT 5
15
Analyse du langage SPARQL
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Quelles sont les instances de la classe personne ? Métabase SELECT ?p WHERE { ?p rdf:type Personne } Données TRIPLES SUBJECT PREDICATE OBJECT Etudiant rdfs:subClassOf Personne Salarié … durand rdf:type morin dupont TRIPLES SUBJECT PREDICATE OBJECT Etudiant rdfs:subClassOf Personne Salarié … durand rdf:type jean dupont morin ?p durand ?p durand morin dupont ?p durand morin dupont Instances liées à leurs classes directes Instances liées à leurs classes directes et indirectes en fonction de l’implantation - Exploitation des données au niveau logique : Compatibilité SQL - Exploitation des données au niveau ontologique - Indépendance d’un modèle d’ontologies particulier : dépend de l’implantation caché dans l’interpréteur 15
16
Les langages d’exploitation pour les BDBO de type II
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Langages définis pour exploiter des ontologies RDF-Schema et leurs instances Exemples : RQL, SeRQL, eRQL, etc. Données Ontologie Métabase Langage représentatif : RQL Implanté sur RDF-Suite et Sesame Complété par RUL et RVL (LMD et LDV) Notion d’expression de chemin généralisée BDBO de type 2 SELECT P, FROM Person{P}.name{Name}, {P}mbox{ } WHERE Name=“durand” 16 16
17
Analyse du langage RQL 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Quelles sont les instances de la classe personne ? Quelles sont les classes des ontologies ? Métabase SELECT * FROM Class{C} P durand morin dupont SELECT P FROM Person{P} Ontologie Données Class ID nameFR nameEN … Person Personne Student Etudiant Employee Salarié Personne ID durand Salarié ID dupont C Person Student Employee Salarié ID jean SELECT P FROM ^Person{P} P durand Etudiant ID morin Subsomption sub sup Student Personne Employee Requête sur les ontologies Requête sur les données - Exploitation des données au niveau logique : Compatibilité SQL - Exploitation des données au niveau ontologique - Indépendance d’un modèle d’ontologies particulier (pas OL) 17
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 18 18
19
Exigence 1 : Exploitation des données au niveau logique
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Sous-ensemble de SQL supporté par les SGBD usuels SELECT id, pgender FROM Table_Person LID Métabase id pgrade p1 M Données INSERT INTO Table_Person VALUES (‘p2‘, ‘Tony’, ‘M’) LMD Table_Person ID pname pgender p1 Jack M p2 Tony Table_Student ID pname pgrade CREATE TABLE Table_Student ( id INTEGER, pname VARCHAR(32), pgrade VARCHAR(32) ) LDD 19
20
Exigence 2 : Exploitation des données au niveau ontologique, couche OCC
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Extension et adaptation de SQL99 Distinction niveaux logique/ontologique : SET NAMESPACE l = Métabase Entity Attribute ID name ID name LID 1 Class 3 ID 2 Property 4 name SELECT l:oid, l:gender FROM l:Person SELECT l:oid, l:gender FROM ONLY (l:Person) Données Ontologie Table_Person ID pname pgender p1 Jack M p2 Tony Class ID nameFR nameEN … Person Personne Student Etudiant LMD oid gender p1 M oid gender p1 M e1 NULL INSERT INTO l:Person VALUES (‘Tony‘, ‘M’) Table_Employee ID pname psalary e1 Tim 10000 LDD Subsomption sub sup Employee Personne Student Distinction niveaux ontologie/modèle d’ontologie : # Table_Employee ID pname pgrade Couche OCC CREATE #Class l:Student UNDER l:Person ( DESCRIPTOR (#name[fr]=‘Etudiant’) #Property ( l:grade String ) ) CREATE EXTENT OF l:Student (name, grade) 20
21
Exigence 2 : Exploitation des données au niveau ontologique, couche OCNC
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Langage de définition de vues (LDV) Définition de classes OCNC Métabase Entity Attribute ID name ID name Ex : Homme = Personne & sexe = ‘M’ 1 Class 3 ID 2 Property 4 name CREATE #Class Homme AS VIEW UNDER Personne Ontologie Données Table_Person ID pname pgender p1 Jack M … Class ID nameFR isView … Personne False Homme True Définition d’instances CREATE VIEW OF Homme AS SELECT * FROM Personne WHERE gender = ‘M’ Vue_Homme ID pname pgender p1 Jack M … Subsomption sub sup Homme Personne Couche OCNC 21
22
Exigence 2 : Exploitation des données au niveau ontologique, couche OL
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Utilisation de termes dans les instructions OntoQL Ex : rechercher l’identifiant et le sexe des personnes Métabase Entity Attribute ID name ID name 1 Class 3 ID 2 Property 4 name SELECT oid, gender FROM Person Ontologie Données Class ID nameFR nameEN … Person Personne Student Etudiant Table_Person ID pname pgender p1 Jack M … SET LANGUAGE = ‘EN’ SELECT oid, gender FROM Person SET LANGUAGE = ‘FR’ SELECT oid, sexe FROM Personne Table_Student ID pname pgrade s1 Peter PHD … Person ID nameFR nameEN … gender sexe Couche OL 22
23
Exigence 3 : Indépendance d’un modèle d’ontologies particulier
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Définition d’un modèle d’ontologies noyau extensible (préfixe #) Langage de Définition d’Ontologies (LDO) Métaschéma Métabase Entity ID name 1 Class 2 PLIB_Class 3 OWL_Class Attribute ID name 10 id 11 12 note 13 deprecated ~ RDF-S CREATE ENTITY #PLIB_Class UNDER #Class ( #note String) PLIB CREATE ENTITY #OWL_Class UNDER #Class ( #deprecated Boolean) OWL Ontologie Données Class ID nameFR … Table_Person ID pname pgender p1 Jack M … INSERT INTO #PLIB_Class (#name, #note) VALUES (‘Personne’, ‘…’) LMO PLIB_Class ID nameFR note … Person Table_Student ID pname pgrade s1 Peter PHD … OWL_Class ID nameFR deprecated … Employee Salarié False SELECT #name[fr], #definition FROM #Class LIO name[fr] definition Personne … Salarié 23
24
Interrogation simultanée des ontologies et des données
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Combinaison du LID et du LIO Ontologie vers Données Métabase Entity ID name 1 Class 2 Property Attribute ID name 10 id 11 SELECT C.#name[fr] FROM #Class AS C WHERE C.#name LIKE ‘Per%’ , i.oid , C AS i Ontologie Données Class ID nameFR nameEN … Person Personne Student Etudiant C AS i Table_Person ID pname pgender p1 Jack M … name[fr] Personne name[fr] oid Personne p1 s1 … typeOf(.) Table_Student ID pname pgrade s1 Peter PHD … Subsomption sub sup Student Person Données vers Ontologie , typeof(p) .#name[fr] SELECT p.name FROM Personne p LIO LID name #name[fr] Jack Personne Peter Etudiant … name Jack Peter … 24
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 25 25
26
Formalisation Modèle formel d’une BDBO
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Model M = (E, A, OC, C, P, Extent) Meta-schema: E, A, OC SuperEntities E 2E Type OC E AttDomain A E AttRange A E Val OC A OC Méta-Schéma Métabase OWL PLIB ~ RDF-S F-Logic Ontologie Données Ontology: C, P SuperClasses C 2C propDomain P C propRange P C Nomination: C Extent Content: Extent, I Type I Extent SchemaProp Extent 2p Val I P I Abstraction: Extent C 26 26
27
Formalisation Algèbre OntoAlgebra pour les BDBO
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Conçue à partir de l’algèbre Encore définie pour les BDOO Signature des opérateurs TUPLE [<(String, ADT), …, (String, ADT)>] x 2V TUPLE [<(String, ADT), …, (String, ADT)>] x 2V Relation x … Relation Tuples composés de valeurs simples, d’éléments des ontologies (OC) ou d’instances de classes (I) Principaux opérateurs : OntoProject, OntoSelect, OntoOJoin OntoProject : Relation x 2String x Fonction Relation Applique une ou plusieurs fonctions aux tuples en paramètre OntoSelect : Relation x Prédicat Relation Supprime les tuples de la relation en entrée ne respectant pas un prédicat donné OntoOJoin : Relation x Relation X Predicat Relation Réalise la jointure entre deux relations 27 27
28
Formalisation Sémantique des opérateurs
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Opérateurs d’interrogation des ontologies éléments des ontologies = instance d’un modèle d’ontologies (un modèle orienté-objet) Sémantique des opérateurs de ENCORE Opérateurs d’interrogation des données Propriétés non valuées Introduction de la valeur NULL Opérateurs d’interrogation des ontologies et des données Lien entre les éléments de l’ontologie et les instances de classes TYPEOF : I C OntoAlgebra Interprétation du langage OntoQL Requête OntoQL Expression algébrique de OntoAlgebra 28 28
29
Formalisation Techniques d’optimisation
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Règles d’équivalence : Ex : pousser les sélections en bas de l’arbre algébrique Technique d’évaluation partielle : Propriété non utilisée => pas d’accès à la partie données pour cette propriété SELECT * FROM Person WHERE gender = ‘M’ Méta-schéma Métabase SELECT * FROM ONLY(Person) WHERE gender = ‘M’ UNION SELECT * FROM ONLY(Employee) SELECT * FROM ONLY(Student) Données Ontologie Table_Person ID pname pgender p1 Jack M Class ID nameFR nameEN … Person Personne Employee Salarié Student Etudiant Table_Employee ID pname psalary e1 Tim 10000 Subsomption sub sup Employee Person Student SELECT * FROM ONLY(Person) WHERE gender = ‘M’ Table_Student ID pname pgrade s1 John PhD 29 29
30
Prototypage Implantation de OntoQL sur OntoDB
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Modèle de données Meta-schema: E , A, OC Partie méta-schéma Partie méta-base Entity Id name … 11 Item_Class Attribute Id name … 12 Partie ontologie Partie données Item_Class rid name … 11 Personne EPersonne rid Pname P 111 Durand rdfs:Class Id label … 11 Personne Personne ID 111 name ID VALUE 111 Durand ID VALUE 111 Property_det rid name … 12 ECours rid Ptitle Pnote 112 BD 20 Cours ID 112 title ID VALUE 112 BD note ID VALUE 112 4 rdf:Property Id label … 12 Représentation binaire Ontology: C , P Content: Extent , I Nomination: C Extent 30 30
31
Prototypage Traitement d’une requête OntoQL
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Traitement d’une requête OntoQL Expression algébrique Algèbre Relationnelle Expression algébrique OntoAlgebra Requête OntoQL Requête SQL OntoDB Exemple OntoProject <(n, nom)> ext* Personne Arbre OntoAlgebra EPersonne pnomn ESalarié nulln Arbre Algèbre Relationnelle SELECT nom as n FROM Personne SELECT pnom AS n FROM EPersonne UNION FROM ESalarié SQL OntoQL 31 31
32
Prototypage Outils associés au langage OntoQL
1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Outils Méta-Schéma Métabase OntoQL+ JOBDBC Moteur OntoQL OntoQBE Ontologie Données OntoAPI SPARQL Recherche par mots-clés Applications Projet ANR e-WOK HUB : Géosciences Projet EpiSEM : Pétrographie Bases de données techniques : Ingénierie 32 32
33
PLAN 1- Architecture de BDBO cible 2- Exigences pour le langage
3- Le langage OntoQL 4- Mise en œuvre 5- Conclusion et perspectives 33 33
34
Conclusion Théorie des ontologies :
modèle d’ontologies unifié à sémantique partagée et extensible 2. Conception des BD : extension de l’architecture ANSI/SPARC 3. Définition d’un langage d’exploitation de BDBO : le langage OntoQL Exploitation des données au niveau logique : compatibilité SQL Exploitation des données au niveau ontologique (OCC, OCNC, OL) Indépendance vis-à-vis d’un modèle d’ontologies donné (LDO, LMO, LIO) 4. Mise en oeuvre du langage OntoQL Formalisation : modèle de données d’une BDBO + OntoAlgebra Prototypage : implantation de OntoQL sur OntoDB + outils associés MétaSchéma Ontologie Métabase Données JOBDBC OntoProject : Relation x 2String x Fonction Relation OntoQL+ Moteur OntoQL OntoQBE OntoSelect : Relation x Predicat Relation … OntoOJoin : Relation x Relation X Predicat Relation Model = (E, A, OC, C, P, Extent)
35
Perspectives Évolution du langage OntoQL
Extension sémantique du modèle noyau de OntoQL Requêtes paramétriques Approche « plugin » Optimisation des requêtes OntoQL Techniques usuelles (Vues matérialisées, Index, etc.) Techniques particulières (Partitionnement par langue naturelle) Construction automatique des relations de subsomptions Autres contextes d’utilisation de OntoQL Ingénierie Dirigée par les Modèles : transformation de modèles Indexation sémantique de base de données Ontologies émergentes : enrichissement d’ontologies locales
36
Merci de votre écoute ? 36 36
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.