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

Présenté par Stéphane JEAN

Présentations similaires


Présentation au sujet: "Présenté par Stéphane JEAN"— Transcription de la présentation:

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


Télécharger ppt "Présenté par Stéphane JEAN"

Présentations similaires


Annonces Google