Laboratoire dInformatique Scientifique et Industrielle École Nationale Supérieure de Mécanique et...

36
Laboratoire d’Informatique Scientifique et Industrielle École Nationale Supérieure de Mécanique et d’Aérotechnique et Université de Poitiers OntoQL, un langage d’exploitation 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 à l’ENSMA, Futuroscope Laboratoire Informatique Scientifique et Industrielle (LISI)

Transcript of Laboratoire dInformatique Scientifique et Industrielle École Nationale Supérieure de Mécanique et...

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

Laboratoire d’Informatique Scientifique et Industrielle

École Nationale Supérieure de Mécanique et d’Aérotechniqueet Université de Poitiers

OntoQL, un langage d’exploitation 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 à l’ENSMA, Futuroscope

Laboratoire Informatique Scientifique et Industrielle (LISI)

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

2

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

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

3

MotivationLangage d’exploitation 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 d’ontologies Elaboration d’un langage d’exploitation pour

les BDBO

RDF-Schema pourRDF-Suite, Sesame, RSTAR ...PLIB pourOntoDB, OntoDB2 OWL pourDLDB, 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 d’ontologies

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

4

MotivationIntégration de bases de données

Problème : l’hétérogénéité sémantique

Banque 1 Banque 2

Clients

ID Nom Crédit Adresse

AAA Dupont 5 000€ 01 avenue Clément Ader

Customer

ID Name VIP Credit Address

AAA Dupont Yes 1 000$ dup@far

Conflits de nommage Conflits de structures

Conflits d’unités de mesures

Une solution : les BDBO [NGuyen Xuan 06]

Préservation d’une compatibilité avec les BD usuelles

Ontologie partagée

Modèle Logique Modèle Logique Modèle Logique Ontologie Modèle Logique Ontologie

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

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

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

6

Ontologie de domaineUne définition

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 »

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

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

7

Typologie des ontologies

BD Vocabulaire canonique des concepts d’un 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 d’un domaine

1- Architecture cible2- Exigences3- Le langage OntoQL4- 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)

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

• Traitement du langage naturel• Interface langagière pour les

données

OL = Représentation linguistique

Couche Discours

OL

• Référence pour l’intégration sémantique

• Accès au niveau connaissance• Vocabulaire canonique pour

l’échange

8

Liens entre les différents types d’ontologies : 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é d’inférence

• Flexibilité pour l’intégration

Modèle en oignon 3 couches aux capacités spécifiques Coexistence des différents modèles

OCC

Couche Caractérisation

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

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

PLIB

9

Les modèles d’ontologies et le modèle en oignon

Modèle d’ontologies unifié Modèle noyau extensible

~ RDF-S

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

OCNC

OCC

PLIBFonctions

de dérivation

OWLExpressions booléennes de classes,

...

F-LogicRègles déductives …

~ RDF-SClasse,

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

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

10

Une typologie des BDBO

Type 1 : Jena, 3Store

Métabase

Données

DonnéesOntologie

Métabase

Type 2 : Sesame, RDF-Suite

MétabaseMé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 d’ontologies figé

- Cadre d’hypothèses

+ Modèle d’ontologies évolutif+ Passage à l’échelle

• Typage fort des propriétés

• Mono-instantiation

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

TRIPLES

SUBJECT PREDICATE OBJECT

Personne rdf:type rdfs:class

Etudiant rdf:type rdfs:class

Etudiant rdfs:subClass Personne

nom rdf:type rdf:property

nom rdf:range xsd:String

… … …

Etudiant#1 rdf:type Etudiant

Etudiant#1 nom Peter

… … …

Ontologie

Instance

Student

ID

student#1

name

ID VALUE

student#1 Peter

grade

ID VALUE

student#1 PHD

Property

ID name

3 name

4 grade

Class

ID name

1 Person

2 Student

Property

ID name

3 name

4 grade

Class

ID name

1 Person

2 Student

Attribute

ID name

3 ID

4 name

Entity

ID name

1 Class

2 Property

Student

ID name grade

Student# Peter PHD

… … …

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

11

Architecture cibleGénéralisation des BDBO de type

3Métabase

DonnéesOntologie

Méta-Schéma

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

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

F-Logic

OWL PLIB

~ RDF-S

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

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

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

13

Principales exigences pour un langage d’exploitation 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 d’un modèle d’ontologies particulier

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

F-Logic

OWL PLIB~ RDF-S

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

14

Les langages d’exploitation pour les BDBO de type I

Langages définis pour exploiter des données RDF• Exemples : SPARQL, RDQL, etc.

SELECT ?p ?email

FROM http://example.org/foaf/aliceFoaf

WHERE { ?p type Person . ?p mbox ?email ?p name ?name FILTER (name=“durand”) }

ORDER BY DESC (?email) LIMIT 5

Langage représentatif : SPARQL• W3C Proposed Recommendation• « graph-matching query language »

Métabase

Données

BDBO de Type 1

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

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

Analyse du langage SPARQL

Quelles sont les instances de la classe

personne ?

TRIPLES

SUBJECT PREDICATE OBJECT

Etudiant rdfs:subClassOf Personne

Salarié rdfs:subClassOf Personne

… … …

durand rdf:type Personne

jean rdf:type Personne

dupont rdf:type Personne

morin rdf:type Etudiant

dupont rdf:type Salarié

Métabase

SELECT ?pWHERE { ?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 d’un modèle d’ontologies particulier

Instances liées à leurs classes directesInstances liées à leurs classes directes et indirectes

: dépend de l’implantation

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

caché dans l’interpréteur

TRIPLES

SUBJECT PREDICATE OBJECT

Etudiant rdfs:subClassOf Personne

Salarié rdfs:subClassOf Personne

… … …

durand rdf:type Personne

morin rdf:type Etudiant

dupont rdf:type Salarié

?p

durand

?p

durand

morin

dupont

en fonction de l’implantation

?p

durand

morin

dupont

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

16

Les langages d’exploitation 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, Email

FROM Person{P}.name{Name}, {P}mbox{Email}

WHERE Name=“durand”

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

DonnéesOntologie

Métabase

BDBO de type 2

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

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

Analyse du langage RQL

C

Person

Student

Employee

P

durand

P

durand

morin

dupont

Métabase

SELECT PFROM Person{P}DonnéesOntologie

SELECT PFROM ^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 d’un modèle d’ontologies 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 cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

Personne

ID

durand

Salarié

ID

dupont

Etudiant

ID

morin

Class

ID nameFR nameEN …

Person Personne Person

Student Etudiant Student

Employee Salarié Employee

Subsomption

sub sup

Student Personne

Employee Personne

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

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

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

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 cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

id pgrade

p1 M

Table_Person

ID pname pgender

p1 Jack M

p2 Tony M

Table_Student

ID pname pgrade

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

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

Entity

ID name

1 Class

2 Property

Attribute

ID name

3 ID

4 name

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 = http://www.lisi.ensma.fr

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 d’ontologie : #

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

oid gender

p1 M

e1 NULL

oid gender

p1 M

Class

ID nameFR nameEN …

Person Personne Person

Student Etudiant Student

Subsomption

sub sup

Employee Personne

Student Personne

Table_PersonID pname pgenderp1 Jack Mp2 Tony M

Table_EmployeeID pname psalarye1 Tim 10000

Table_EmployeeID pname pgrade

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

Exigence 2 : Exploitation des données au niveau ontologique,

couche OCNC

Métabase

DonnéesOntologie

Entity

ID name

1 Class

2 Property

Attribute

ID name

3 ID

4 name

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 d’instances

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

Class

ID nameFR isView …

Personne Personne False

Homme Homme True

Subsomption

sub sup

Homme Personne

Table_PersonID pname pgenderp1 Jack M… … …

Vue_HommeID pname pgenderp1 Jack M… … …

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

Exigence 2 : Exploitation des données au niveau ontologique,

couche OL

Métabase

DonnéesOntologie

Entity

ID name

1 Class

2 Property

Attribute

ID name

3 ID

4 name

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 l’identifiant et le sexe des personnes

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

Class

ID nameFR nameEN …

Person Personne Person

Student Etudiant Student

Person

ID nameFR nameEN …

gender sexe gender

Table_PersonID pname pgenderp1 Jack M… … …

Table_StudentID pname pgrades1 Peter PHD… … …

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

Exigence 3 : Indépendance d’un modèle d’ontologies

particulier

Métabase

DonnéesOntologie

Définition d’un modèle d’ontologies noyau extensible (préfixe #)

23

~ RDF-SCREATE ENTITY #PLIB_Class

UNDER #Class (

#note String)

PLIB

CREATE ENTITY #OWL_Class

UNDER #Class (

#deprecated Boolean)

OWL

Langage de Définition d’Ontologies (LDO)

INSERT INTO #PLIB_Class

(#name, #note)

VALUES (‘Personne’, ‘…’)

LMO

SELECT #name[fr],

#definition

FROM #Class

LIO

Métaschéma

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

Table_PersonID pname pgenderp1 Jack M… … …

Table_StudentID pname pgrades1 Peter PHD… … …

ClassID nameFR …

PLIB_ClassID nameFR note …

Person Person … …

OWL_ClassID nameFR deprecated …

Employee Salarié False

name[fr] definition

Personne …

Salarié …

EntityID name1 Class2 PLIB_Class3 OWL_Class

AttributeID name10 id11 name12 note13 deprecated

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

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

LIDLIO

, C AS i, i.oid

C AS i

, typeof(p).#name[fr]

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

EntityID name1 Class2 Property

AttributeID name10 id11 name

Class

ID nameFR nameEN …

Person Personne Person

Student Etudiant Student

Subsomptionsub sup

Student Person

Table_StudentID pname pgrades1 Peter PHD… … …

Table_PersonID pname pgenderp1 Jack M… … …

name[fr] oid

Personne p1

Personne s1

… …

name[fr]

Personne

name #name[fr]

Jack Personne

Peter Etudiant

… …

name

Jack

Peter

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

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

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

26

FormalisationModèle formel d’une BDBO

Métabase

DonnéesOntologie

Méta-Schéma

Content: Extent, I

Type I Extent

SchemaProp Extent 2p

Val I P I

Ontology: C, P

SuperClasses C 2C

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

Type OC E

AttDomain A E

AttRange A E

Val OC A OC

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

F-Logic

OWL PLIB~ RDF-S

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

27

Formalisation Algèbre OntoAlgebra pour les

BDBO Conçue à partir de l’algè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 • d’instances 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 2String 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 [<(String, ADT), …, (String, ADT)>] x 2V TUPLE [<(String, ADT), …, (String, ADT)>] x 2V

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

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

28

Formalisation Sémantique des opérateurs

Opérateurs d’interrogation des ontologies

Opérateurs d’interrogation des données

Propriétés non valuées

Opérateurs d’interrogation des ontologies et des données

Lien entre les éléments de l’ontologie et les instances de classes

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

éléments des ontologies = instance d’un modèle d’ontologies (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

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

29

Formalisation Techniques d’optimisation

Règles d’équivalence : Ex : pousser les sélections en bas de l’arbre algébrique

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

Métabase

DonnéesOntologie

SELECT * FROM Person

WHERE gender = ‘M’

SELECT * FROM ONLY(Person)

WHERE gender = ‘M’

UNIONSELECT * FROM ONLY(Employee) WHERE gender = ‘M’UNIONSELECT * 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 d’accès à la partie données pour cette propriété

Class

ID nameFR nameEN …

Person Personne Person

Employee Salarié Employee

Student Etudiant Student

Subsomptionsub sup

Employee PersonStudent Person

Table_PersonID pname pgenderp1 Jack M

Table_EmployeeID pname psalarye1 Tim 10000

Table_StudentID pname pgrades1 John PhD

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

30

PrototypageImplantation de OntoQL sur

OntoDB Modèle de données

Content: ExtentOntology: C

Nomination: C Extent

Meta-schema: E

, I, P

, A, OC

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

nameID VALUE111 Durand

PersonneID111

Partie méta-schéma

Partie ontologie

Partie méta-base

Partie données

emailID VALUE111 dura@

titleID VALUE112 BD

CoursID112

noteID VALUE112 4

EPersonnerid Pname Pemail111 Durand dura@

ECoursrid Ptitle Pnote112 BD 20

Item_Classrid name …11 Personne …

Property_detrid name …12 email …

rdfs:ClassId label …11 Personne …

rdf:PropertyId label …12 email …

AttributeId name …12 name …

EntityId name …11 Item_Class …

Représentation binaire

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

31

PrototypageTraitement d’une 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 d’une requête OntoQL

OntoQL

SELECT pnom AS n

FROM EPersonneUNIONSELECT pnom AS nFROM ESalarié

SQL

OntoProject

<(n, nom)>ext*

Personne

Arbre OntoAlgebra

EPersonnepnomnESalarié nulln

Arbre Algèbre Relationnelle

1- Architecture cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

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

32

PrototypageOutils associés au langage

OntoQLMétabase

DonnéesOntologie

Méta-Schéma

Moteur OntoQL

JOBDBC

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 cible2- Exigences3- Le langage OntoQL4- Mise en œuvre

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

33

PLAN

1- Architecture de BDBO cible

2- Exigences pour le langage

3- Le langage OntoQL

4- Mise en œuvre

5- Conclusion et perspectives

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

34

Conclusion

2. Conception des BD : extension de l’architecture ANSI/SPARC

1.Théorie des ontologies : modèle d’ontologies unifié à sémantique partagée

et extensible

3. Définition d’un langage d’exploitation 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 d’une BDBO + OntoAlgebra

Indépendance vis-à-vis d’un modèle d’ontologies donné (LDO, LMO, LIO)

Prototypage : implantation de OntoQL sur OntoDB + outils associés

Model = (E, A, OC, C, P,

Extent)

OntoProject : Relation x 2String 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

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

35

Perspectives

Extension sémantique du modèle noyau de OntoQL

Évolution du langage OntoQL

Autres contextes d’utilisation 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 d’ontologies locales

• Techniques usuelles (Vues matérialisées, Index, etc.)• Techniques particulières (Partitionnement par langue naturelle)

• Requêtes paramétriques

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

36

Merci de votre écoute

?