• Aucun résultat trouvé

3 Comment définir formellement une ontologie?

3.1 Formalisme RDF/RDFS

RDF (Resource Description Framework) est un langage utilisé pour la représentation des informations relatives aux ressources sur le Web. Il fut conçu pour annoter les documents du Web à l’aide de métadonnées (le titre, l’auteur et la date de modification d’une page web, etc.). Avec la généralisation du concept de « ressource Web », RDF est utilisé pour représenter des informations à propos de choses identifiables sur le Web. Beaucoup de sites de vente en ligne utilisent RDF pour la présentation de leurs articles. Les informations exprimées en RDF sont traitables par des applications au lieu d’être seulement affichées pour les humains. Ces infor-mations peuvent ainsi être échangées entre les applications sans perte de sens. Cela veut dire que les informations peuvent être mises à la disposition d’autres applications que celles pour lesquelles elles ont été créées au départ.

Pour identifier les ressources, RDF utilise des URI (Uniform Resource Identifiers). Il décrit les ressources en fonction de propriétés et de valeurs de propriétés. Les instances RDF (ou déclaration RDF) sont présentées sous forme de triplets (sujet, prédicat, valeur).

– sujet désigne la ressource à décrire. Le sujet est en général identifié par un URI mais peut aussi être un nœud anonyme. Une ressource peut être une page Web, une partie d’une page Web référencée par une ancre ou même un objet quelconque.

– prédicat représente une propriété qui peut être appliquée sur la ressource. Il est aussi représenté par un URI.

est identifié par un URI mais peut aussi être un nœud anonyme ou un littéral (valeur éventuellement typé par un des types de données primitifs définis par XML Schéma) . Un ensemble de données RDF peut être représenté par un graphe de nœuds et d’arcs repré-sentant les ressources, leurs propriétés et valeurs. Par exemple, le triplet (Etudiant, est-Inscrit,

Cours) est représenté graphiquement sur la figure 1.4.

Etudiant Cours

estInscrit Prédicat,

( Sujet, Objet )

Figure 1.4 – Exemple d’un triplet RDF

La sémantique d’un document RDF est exprimée en s’appuyant sur la théorie des ensembles et la théorie du modèle [34]. Ce dernier vise à définir des structures mathématiques pour une interprétation des éléments du vocabulaire de RDF. Ces structures fournissent le moyen de vérifier formellement qu’une déclaration (triplet) est vraie dans un document RDF. En effet, tout triplet RDF peut être traduit en formule de logique du premier ordre, positive, conjonctive et existentielle :

(S u jet, Predicat, Ob jet)⇒ ∀Ob ject, ∃ S u jet tel que Predicat(S u jet, Ob jet)

RDF introduit quelques prédicats prédéfinis, mais ne propose pas de constructeurs prédéfi-nis pour la conception d’ontologies. Il ne permet pas de formuler des contraintes sémantiques riches ou de faire des raisonnements. Ainsi, il a été rapidement étendu par un ensemble de constructeurs constituant le modèle RDF-Schema pour la définition d’ontologies.

RDF-Schéma (ou RDFS) est un modèle issu du Web Sémantique, étendant le modèle RDF par des constructeurs permettant la définition de classes et de propriétés. Il permet entre autres de bâtir des concepts, éventuellement définis à partir d’autres concepts, et ayant la particula-rité d’être partagés. Il offre un ensemble de constructeurs de modélisation orientés objets pour la définition de concepts. RDFS est un langage de représentation des connaissances avec une syntaxe et une sémantique. Il permet de réaliser des inférences [35]. Grâce à l’inférence, on peut déduire des nouveaux triplets à partir des triplets existants. Les expressions RDFS sont aussi écrites sous forme de triplets (triplets RDF) et restent des expressions RDF valides. La seule différence entre une expression RDF "normale" et une expression RDFS est l’accord fait sur la sémantique des termes définis en RDFS et par conséquent sur l’interprétation de certains triplets.

RDFS définit la classe ressource comme classe mère de toutes les classes. Il permet une des-cription textuelle des classes et des propriétés au travers des attributs rdfs:label, rdfs:comment,

rdfs:seeAlso et rdfs:isDefinedBy. RDFS ne dispose pas de primitives décrivant les équivalences

conceptuelles. Les ontologies RDFS sont donc des ontologies canoniques (OCC). Nous présen-tons ci-dessous les principaux constructeurs de RDFS.

– Constructeurs de classes.

Pour créer des classes, le constructeur rdfs:class est utilisé. Le constructeur rdfs:subClassOf permet de spécifier une organisation hiérarchique des classes.

– Constructeurs de propriétés.

Le constructeur rdfs:property permet de spécifier des propriétés caractéristiques d’une classe. La hiérarchie des propriétés est créée à l’aide du constructeur rdfs:subProperty. Les constructeurs rdfs:domain et rdfs:range permettent de spécifier respectivement le do-maine (une ou plusieurs classes) et le co-dodo-maine de valeur d’une propriété (une classe ou un type de données).

– Constructeurs d’instances.

L’appartenance d’une instance à une classe est définie grâce au constructeur rdf:type. Ce constructeur permet de "typer" une ressource (ou instance RDF) avec une propriété ou une classe définie en RDFS. Les triplets correspondant sont de la forme (i, rdf:type,

C) indiquant que i est une instance de la classe C. Dans RDFS, il est possible qu’une

instance appartienne à plusieurs classes même de différentes hiérarchies (subsomption). L’attribution d’une valeur v à une propriété p d’une instance i se fait à l’aide d’un triplet de la forme (i, p, v).

– Les types de valeurs.

Les types de valeurs des objets manipulés dans RDFS peuvent être des instances de classes ou des littéraux. Les littéraux peuvent être typés par les types prédéfinis de XML Schéma (pour les chaînes de caractères, les numériques, les dates, etc.). RDFS fournit aussi un type collection (rdfs:Container) et utilise les types collection de RDF (rdf:List,

rdf:Bag).

– Les axiomes.

Hormis l’appartenance et la subsomption, RDFS ne permet pas de définir de nouveaux axiomes. Par contre, il permet la méta-modélisation. Ainsi, il permet suivant le rôle joué dans un contexte par une information, de la représenter comme une classe ou comme une instance. Dans la relation de subsomption, RDFS ne permet pas de référence circulaire, c’est-à-dire qu’une classe (ou une propriété) ne peut pas être sa propre sous-classe (ou sa propre sous-propriété).

RDFS étend ainsi RDF avec un ensemble de constructeurs qui fait de lui un formalisme d’ontologies. Dans la section suivante, nous présentons le formalisme OWL qui permet de dé-finir des ontologies orientées inférence qui sont beaucoup utilisées dans le domaine du Web Sémantique.