• Aucun résultat trouvé

5 Base de Données à Base Ontologique

5.1 Modèle de stockage traditionnel ou autres modèles pour les BDBO?

5.1.1 Modèle de stockage des ontologies

Le problème de représentation des ontologies dans une base de données consiste à définir l’ensemble des tables nécessaires pour stocker les concepts ontologique et leurs relations. Dans la littérature, deux approches principales ont été proposées : la représentation générique et la représentation spécifique.

5.1.1.1 Représentation générique. Cette représentation appelée aussi représentation

verti-cale utilise une unique table à trois colonnes (sujet, prédicat, objet) dite table de triplets pour

stocker l’ontologie. Cette représentation est générique par rapport au modèle d’ontologie. En effet, l’ontologie est donc décomposée en un ensemble de triplets. Chaque élément E d’une ontologie est défini par des triplets de l’une des formes suivantes :

Université sousOrganisationDe Département personne Etudiant Salarié membreDe subclassof subclassof DiploméDe

ID3 sousOrganisationDe ID2 membreDe ID1 ID4 DiploméDe

type Valeur de propriété Propriété Légende : Classe ou instance I n s t a n c e s O n t o l o g i e

Figure 1.6 – Fragment de l’ontologie LUBM

– la forme (E, rdf:type, entité) : ces triplets permettent d’indiquer le type de l’élément. Ce type est une des entités définies en RDF-Schéma comme par exemple rdfs:Class ou

rdfs:Property ;

– la forme (E, attribut, valeur) : ces triplets permettent de caractériser les éléments définis en leur assignant des valeurs d’attributs RDF-Schéma comme par exemple rdf:label ou

rdf:comment. Exemple 1

Soit le fragment de l’ontologie LUBM présenté sur la figure 1.6. Sa représentation générique est présentée sur la figure 1.7.

5.1.1.2 Représentation spécifique. Cette représentation dépend du modèle d’ontologies supporté. Elle consiste à représenter le modèle d’ontologies en utilisant le modèle

relation-nel ou relationrelation-nel-objet supporté par le SGBD sous-jacent à la BDBO. Le schéma de tables

est défini de façon ad hoc (non systématique) d’une implémentation à une autre. Il est fonction des détails des informations qu’on veut capturer et du lien établi avec la partie concernant les

données. ChaqueBDBO définit son propre schéma en fonction des concepts du modèle

d’onto-logies qu’elle supporte. Pour une ontologie RDFS, le schéma contient généralement les tables ;

class, subclass, domain, range, property, subproperty.

Cette représentation est adoptée par lesBDBO Sesame, RDFSuite, RSTAR, OntoDB,

On-toMS, DLDB, PARKA et KAON. La représentation spécifique de notre fragment d’ontologie de la figure 1.6 est illustrée par la figure 1.8

Dans cet exemple, la représentation comporte les tables Class, Property et Subclass. La table

sto-Triplet

sujet prédicat objet

http://lias.fr#Université rdf:type rdfs:Class http://lias.fr#Département rdf:type rdfs:Class http://lias.fr#Personne rdf:type rdfs:Class http://lias.fr#Etudiant rdf:type rdfs:Class http://lias.fr#Salarié rdf:type rdfs:Class

http://lias.fr#Etudiant rdfs:suclassOf http://lias.fr#Personne http://lias.fr# Salarié rdfs:suclassOf http://lias.fr#Personne http://lias.fr#estMembreDe rdf:type rdf:Property

http://lias.fr#estMembreDe rdfs:domain http://lias.fr#Etudiant http://lias.fr#estMembreDe rdfs:range http://lias.fr#Département http://lias.fr#sousOrganisation

De

rdf:type rdf:Property

http://lias.fr# Université rdfs:comment C’est une université de ...

Triplet

sujet prédicat objet

http://lias.fr#Université rdf:type rdfs:Class http://lias.fr#Département rdf:type rdfs:Class http://lias.fr#Personne rdf:type rdfs:Class http://lias.fr#Etudiant rdf:type rdfs:Class http://lias.fr#Salarié rdf:type rdfs:Class

http://lias.fr#Etudiant rdfs:suclassOf http://lias.fr#Personne http://lias.fr# Salarié rdfs:suclassOf http://lias.fr#Personne http://lias.fr#estMembreDe rdf:type rdf:Property

http://lias.fr#estMembreDe rdfs:domain http://lias.fr#Etudiant http://lias.fr#estMembreDe rdfs:range http://lias.fr#Département http://lias.fr#sousOrganisation

De

rdf:type rdf:Property

http://lias.fr# Université rdfs:comment C’est une université de ...

Figure 1.7 – Représentation générique du fragment d’ontologie LUBM

Class

Id URI label comment

1 http://lias.fr#Université Université C’est une université de ... 2 http://lias.fr#Département Département

3 http://lias.fr#Personne Personne 4 http://lias.fr#Etudiant Etudiant 5 http://lias.fr#Salarié Salarié

Class

Id URI label comment

1 http://lias.fr#Université Université C’est une université de ... 2 http://lias.fr#Département Département 3 http://lias.fr#Personne Personne 4 http://lias.fr#Etudiant Etudiant 5 http://lias.fr#Salarié Salarié SubClassOf sub sup 4 3 5 3 SubClassOf sub sup 4 3 5 3 Property

id URI comment domain range

11 http://lias.fr#estMembreDe appartenance ... 4 2 12 http://lias.fr#sousOrganisationDe Sous-organe 2 1

Property

id URI comment domain range

11 http://lias.fr#estMembreDe appartenance ... 4 2 12 http://lias.fr#sousOrganisationDe Sous-organe 2 1

cker l’identifiant externe d’une classe. Afin d’optimiser les traitements, un identifiant interne à la base de données (id) est également associé aux classes. Cette table permet également de sto-cker les noms (label) associés aux classes. Notons que si nous souhaitons associer plusieurs noms et/ou plusieurs commentaires à une même classe, la normalisation de cette table néces-site de définir deux nouvelles tables pour stocker ces informations. La table Property stocke les propriétés. Comme les classes, les propriétés sont associées à un identifiant interne (id) et externe (URI) et à des noms (label) et des commentaires (comment). Le domaine (domain) et co-domaine (range) des propriétés sont également spécifiés dans cette table par de références aux classes. La table SubClassOf permet de stocker la hiérarchie des classes en indiquant pour chaque classe ses superclasses.