1 / 36

OntoQL, un langage d’exploitation des bases de données à base ontologique

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.

zed
Download Presentation

OntoQL, un langage d’exploitation des bases de données à base ontologique

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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 »

  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é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

  8. 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

  9. 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

  10. 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

  11. 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

  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

  13. 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

  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 • 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

  15. 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

  16. 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

  17. 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

  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

  19. 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

  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 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

  21. 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

  22. 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

  23. 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

  24. 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

  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

  26. 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

  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 : Relationx 2String x Fonction Relation Applique une ou plusieurs fonctions aux tuples en paramètre OntoSelect : Relationx 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

  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

  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* 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

  30. 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

  31. 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 pnomn ESalarié nulln 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

  32. 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

  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

  34. 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)

  35. 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

  36. Merci de votre écoute ? 36

More Related