430 likes | 856 Views
OntoQL, un langage d’exploitation des bases de données à base ontologique. le 5 décembre 2007 à l’ENSMA, Futuroscope. Présenté par Stéphane JEAN. Laboratoire Informatique Scientifique et Industrielle ( LISI ). sous la direction de Yamine AIT-AMEUR et Guy PIERRA.
E N D
OntoQL, un langage d’exploitation des bases de données à base ontologique le 5 décembre 2007 à l’ENSMA, Futuroscope Présenté par Stéphane JEAN Laboratoire Informatique Scientifique et Industrielle (LISI) sous la direction de Yamine AIT-AMEUR et Guy PIERRA
MotivationBase de Données à Base Ontologique Données Ontologies liens 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
MotivationLangage d’exploitation de BDBO 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 ... 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 Unification des modèles d’ontologies Elaboration d’un langage d’exploitation pour les BDBO 3
MotivationIntégration de bases de données Ontologie Ontologie Modèle Logique Modèle Logique Modèle Logique Modèle Logique Banque 1 Banque 2 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 Une solution : les BDBO [NGuyen Xuan 06] Préservation d’une compatibilité avec les BD usuelles 4
PLAN 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
Ontologie de domaineUne définition 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Qu’est-ce qu’uneontologie ? • « An explicit specification of a conceptualization » [Gruber 93] Uneontologie=conceptualisation d'un domaine classeset propriétés • Formelle • Consensuelle • Référençable « undictionnaireformeletconsensueldes catégories et propriétés d’entités existant dans un domaine d’étude et des relations qui les lient »
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érateursd’é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
Liens entre les différents types d’ontologies : le modèle en oignon Couche Discours OL OCNC • OCNC = Introductiond’équivalence conceptuelle • Possibilité d’inférence • Flexibilité pour l’intégration expression de propriétés Règles de dérivation expression de classes Logique de description Fonction de Dérivation 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 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
Les modèles d’ontologies et le modèle en oignon PLIB Fonctions de dérivation OWL Expressions booléennes de classes, ... F-Logic Règles déductives … 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 ~ RDF-S Classe, Property, Datatype ~ RDF-S OCC PLIB Modèle d’ontologies unifié Modèle noyau extensible 9
Une typologie des BDBO • +Flexibilité • Ajout/Suppression de propriétés/instances • - Efficacité Ontologie • Beaucoup d'auto-jointures • Clustering • + Meilleure efficacité [RDF-Suite] • - Modèle d’ontologies figé Instance Métaschéma Métabase Métabase Métabase Ontologie Données Ontologie Données Données Type 2 : Sesame, RDF-Suite • + Passage à l’échelle • + Modèle d’ontologies évolutif • - Cadre d’hypothèses • Typage fort des propriétés • Mono-instantiation Type 3 : OntoDB[Dehainsala 07] 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Type 1 : Jena, 3Store 10
Architecture cibleGénéralisation des BDBO de type 3 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 • Compatibilité avec l’architectureANSI/SPARC • Ajout du niveau ontologiquesuivant 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
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
Principales exigences pour un langage d’exploitation de BDBO 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Métabase Méta-Schéma 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
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 • W3CProposed Recommendation • «graph-matchingquery language » BDBO de Type 1 SELECT?p ?email FROMhttp://example.org/foaf/aliceFoaf WHERE{ ?p type Person . ?p mbox ?email ?p name ?name FILTER (name=“durand”) } ORDER BY DESC(?email) LIMIT5
Analyse du langage SPARQL Quelles sont les instances de la classe personne ? Instances liées à leurs classes directes Instances liées à leurs classes directes et indirectes 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre Métabase SELECT ?p WHERE { ?p rdf:type Personne } Données 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
Les langages d’exploitation pour les BDBO de type II Métabase Ontologie Données 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. • 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, Email FROMPerson{P}.name{Name}, {P}mbox{Email} WHERE Name=“durand” 16
Analyse du langage RQL Salarié ID jean Requête sur les ontologies Requête sur les données 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} SELECT P FROM Person{P} Ontologie Données SELECT P FROM^Person{P} - 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
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
Exigence 1 : Exploitation des données au niveau logique LID SELECTid, pgender FROMTable_Person LMD INSERTINTO Table_Person VALUES (‘p2‘, ‘Tony’, ‘M’) LDD CREATETABLE Table_Student ( id INTEGER, pname VARCHAR(32), pgrade VARCHAR(32) ) 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre • Sous-ensemble de SQL supporté par les SGBD usuels Métabase Données 19
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 Distinctionniveaux logique/ontologique : Métabase SET NAMESPACE l = http://www.lisi.ensma.fr Entity Attribute ID name ID name LID 1 Class 3 ID 4 name 2 Property SELECT l:oid, l:gender FROMONLY (l:Person) SELECT l:oid, l:gender FROM l:Person Données Ontologie LMD INSERTINTO l:Person VALUES (‘Tony‘, ‘M’) LDD Distinctionniveaux ontologie/modèle d’ontologie : # 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
Exigence 2 : Exploitation des données au niveau ontologique, couche OCNC Ex : Homme = Personne & sexe = ‘M’ CREATE #Class Homme AS VIEWUNDER Personne 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre • Langage de définition de vues (LDV) Métabase Définition de classes OCNC Entity Attribute ID name ID name 1 Class 3 ID 4 name 2 Property Ontologie Données Définition d’instances CREATEVIEWOF Homme AS SELECT * FROM Personne WHEREgender = ‘M’ Couche OCNC 21
Exigence 2 : Exploitation des données au niveau ontologique, couche OL SETLANGUAGE = ‘EN’ SELECT oid, gender FROM Person SET LANGUAGE = ‘FR’ SELECT oid, sexe FROM Personne 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 4 name 2 Property SELECT oid, gender FROM Person Ontologie Données Couche OL 22
Exigence 3 : Indépendance d’un modèle d’ontologies particulier CREATEENTITY #PLIB_Class UNDER #Class ( #note String) PLIB CREATEENTITY #OWL_Class UNDER #Class ( #deprecated Boolean) OWL LMO INSERT INTO #PLIB_Class (#name, #note) VALUES (‘Personne’, ‘…’) LIO SELECT #name[fr], #definition FROM #Class 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étabase Métaschéma ~ RDF-S Ontologie Données 23
Interrogation simultanée des ontologies et des données LID LIO 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre • Combinaison du LID et du LIO Métabase Ontologie vers Données SELECTC.#name[fr] FROM#Class AS C WHEREC.#name LIKE ‘Per%’ ,i.oid , C AS i Ontologie Données C AS i typeOf(.) Données vers Ontologie , typeof(p) .#name[fr] SELECT p.name FROM Personne p 24
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
FormalisationModè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) Méta-Schéma Métabase Meta-schema: E, A, OC SuperEntitiesE 2E Type OC E AttDomain A E AttRange A E Val OC A OC OWL PLIB ~ RDF-S F-Logic Données Ontologie 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
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 : Relationx 2String x Fonction Relation Applique une ou plusieurs fonctions aux tuples en paramètre OntoSelect : Relationx PrédicatRelation Supprime les tuples de la relation en entrée ne respectant pas un prédicat donné OntoOJoin : Relation x Relation X PredicatRelation Réalise la jointure entre deux relations 27
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
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* FROMPerson WHEREgender = ‘M’ Méta-schéma Métabase SELECT* FROMONLY(Person) WHEREgender = ‘M’ UNION SELECT* FROMONLY(Employee) WHEREgender = ‘M’ UNION SELECT* FROMONLY(Student) WHEREgender = ‘M’ Données Ontologie SELECT* FROMONLY(Person) WHEREgender = ‘M’ 29
PrototypageImplantation 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 Partie ontologie Partie données Représentation binaire Ontology: C Content: Extent , P , I Nomination: C Extent 30
PrototypageTraitement d’une requête OntoQL Expression algébriqueAlgèbre Relationnelle Expression algébriqueOntoAlgebra Requête SQL OntoDB OntoProject SELECTpnom AS n FROMEPersonne UNION SELECTpnom AS n FROMESalarié ext* <(n, nom)> EPersonne pnomn ESalarié nulln Personne SQL Arbre OntoAlgebra Arbre Algèbre Relationnelle 1- Architecture cible 2- Exigences 3- Le langage OntoQL 4- Mise en œuvre • Traitement d’une requête OntoQL Requête OntoQL • Exemple SELECTnom as n FROM Personne OntoQL 31
PrototypageOutils 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 Ontologie Données OntoQBE OntoAPI SPARQL Recherche par mots-clés Applications • Projet ANRe-WOK HUB: Géosciences • Projet EpiSEM: Pétrographie • Bases de données techniques : Ingénierie 32
PLAN 1- Architecture de BDBO cible 2- Exigences pour le langage 3- Le langage OntoQL 4- Mise en œuvre 5- Conclusion et perspectives 33
Conclusion MétaSchéma Métabase Ontologie Données • Théorie des ontologies : • modèle d’ontologies unifié à sémantique partagée et extensible 2. Conception des BD : extension del’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 JOBDBC OntoProject : Relationx 2String x Fonction Relation OntoQL+ Moteur OntoQL OntoQBE OntoSelect : Relationx Predicat Relation … OntoOJoin : Relationx Relation X Predicat Relation Model = (E, A, OC, C, P, Extent)
Perspectives Évolutiondu 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