• Aucun résultat trouvé

I.5 Conclusion

II.1.1 Les standards

Il existe plusieurs langages de représentation d’ontologies, chacun ayant ses spéci- ficités et permettant d’exprimer plus ou moins d’information sur les concepts et leurs liens.

Resource Description Framework (RDF) est un langage standardisé de repré-

Chapitre II. Annotation sémantique des modèles

comme base du Web Sémantique par le W3C et peut être écrit en XML ou dans une syntaxe différente (e.g. Turtle1 [Beckett and Berners-Lee, 2011]). Un fichier RDF est composé d’un ensemble de triplets {sujet, prédicat, objet} que l’on peut aussi voir sous la forme {ressource, propriété, valeur}. Ce langage permet d’apporter de l’information en caractérisant une ressource définie par une URI2 (Uniform Resource Identifier). Il faut noter que la valeur de la propriété peut aussi être une ressource d’un autre triplet. RDF n’est pas un langage d’ontologie au sens propre du terme car l’information ajoutée n’est pas définie en tant que concept mais c’est un premier pas vers la sémantique. On y retrouve entre autre la définition des relations entre ressources. Cette structure générique va servir de base aux langages d’ontologies présentés par la suite, RDF-S en tête.

RDF-Schema (RDF-S) est une extension de RDF qui permet la création d’onto-

logies, c’est-à-dire la modélisation des connaissances et du vocabulaire d’un domaine spécifique en décrivant l’univers du discours [Brickley and Guha, 2004]. Pour cela, il ajoute les notions de classes et d’instances de classe. Il permet aussi de hiérarchiser les classes et propriétés ainsi que de définir des gammes de valeurs pour les propriétés.

RDF-S fourni un langage primitif pour la modélisation d’ontologies. Il est limité à la définition de classes/sous-classes et de propriétés/sous-propriétés ainsi que de plages de valeurs pour ces dernières. Voici un exemple décrivant le concept d’ « Humain » et celui de « Femme » qui en est une sous-classe.

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

xmlns:ex="http://example.com/onto#"> <rdfs:Class id="Humain">

<rdfs:comment>Comprend les hommes et les femmes</rdfs:comment> </rdfs:Class>

<rdfs:Class id="Femme">

<rdfs:subClassOf rdf:href="#Humain" /> </rdfs:Class>

</rdf:RDF>

Code II.1 – Exemple de code RDF-S

La définition d’un domaine permet ensuite le raisonnement et la création de connais- sances (voir Annexe B). Dans l’exemple précédent, on peut par exemple déduire que « Si

#Femme est une sous-classe (rdfs:subClassOf) d’#Humain, alors toutes les instances

de #Femme sont aussi des instances d’#Humain ». On y retrouve les mêmes notions qu’en modélisation objet.

1. Turtle : syntaxe RDF qui étend N-Triple et Notation3, deux autre langages de description de ressources

2. URI : chaine de caractère qui permet d’identifier une ressource sur un réseau. Les URI sont définies par la RFC 3986 disponible à l’adresse : http ://tools.ietf.org/html/rfc3986

Bien que RDF-S permette déjà de modéliser un domaine, le W3C s’est penché sur la création d’un langage plus expressif, permettant de modéliser plus précisément un univers de discours.

Web Ontology Language (OWL) est un dialecte XML basé sur RDF-S et dérivé

de DAML+OIL [Connolly et al., 2001]. Il a été proposé par le groupe de travail Web- Ontology du W3C [Bechhofer et al., 2004]. Ce langage se veut donc plus expressif et ajoute les notions de cardinalité, d’équivalence, d’inverse, de restriction, de version, d’in- tersection, etc. [McGuinness and van Harmelen, 2004]

Trois sous-langages sont définis à partir du même méta-modèle :

• OWL-Lite est le moins expressif des trois mais aussi celui qui permet les raisonne- ments les plus rapides. Cette version interdit l’utilisation de certaines propriétés (owl:complementOf, owl:unionOf, etc.) et restreint les valeurs possibles pour cer- taines autres. Par exemple, les valeurs possibles pour les cardinalités ne sont que 0 et 1.

• OWL-DL pour « Description Logic » est un langage plus expressif qu’OWL-Lite mais qui reste décidable3 et dont les raisonnements se déroulent dans un temps fini. Il autorise toutes les fonctions définies dans le langage OWL mais pose encore quelques restrictions quant à leurs utilisation, principalement l’impossibilité pour un concept d’être à la fois une classe et une instance de classe.

• OWL-Full est destiné aux utilisateurs souhaitant un maximum d’expressivité, au détriment des garanties de décidabilités. Il permet l’utilisation de toutes les pro- priétés OWL, sans aucune restriction sur les valeurs. La même classe peut ainsi être à la fois une collection d’individus et un individu à part entière. Actuelle- ment, aucun raisonneur ne supporte la totalité des fonctionnalités d’OWL-Full et aucune étude n’a permis de trouver un algorithme de raisonnement exhaustif pour ce sous-langage.

Il faut noter que chaque sous-langage est une extension du précédent. On en déduit que toute ontologie OWL-Lite est une ontologie OWL-DL et toute ontologie OWL-DL est une ontologie OWL-Full. Voici un exemple de code OWL-DL :

<owl:Class rdf:ID="Homme">

<owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Humain" />

<owl:Restriction>

<owl:onProperty rdf:resource="#aPourSexe" /> <owl:hasValue rdf:resource="#Masculin" /> </owl:Restriction>

</owl:intersectionOf> </owl:Class>

Code II.2 – Exemple de code OWL-DL

3. Décitabilité : on dit d’un problème qu’il est décidable quand on peut prouver qu’il existe une méthode pour trouver la solution en un nombre fini d’étapes

Chapitre II. Annotation sémantique des modèles

Cet exemple décrit le concept d’homme (« #Homme »). Ce concept est défini comme l’intersection de la classe humain (« #Humain ») et de la propriété sexe dont la valeur doit être masculin (« #aPourSexe » doit avoir la valeur « #Masculin »). Toute instance qui regroupe ces conditions deviendra automatiquement lors du raisonnement une ins- tance de « #Homme ».

OWL-DL est le langage d’ontologie décidable le plus expressif. Ses apports, prin- cipalement les notions d’équivalence et de contraire, en font un langage idéal pour le rapprochement de concepts à travers de multiples ontologies tout en garantissant des temps de raisonnement fini. De plus, ce langage est utilisé dans les travaux existants et en cours du laboratoire ( [Rajsiri, 2009], [Truptil, 2011] et [Mu et al., 2011]). Le choix d’OWL-DL permet donc de couvrir le besoin fonctionnel tout en garantissant l’unifor- mité entre les différents travaux de l’équipe.