WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception d'une ontologie pour une plate forme d'enseignement à distance

( Télécharger le fichier original )
par Saloua & Amina Chettibi & Rouibah
université de jijel - ingénieur informatique 2005
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

IV.5.4. Structure d'une ontologie en OWL

Cette partie indique les principaux éléments constituant une ontologie OWL. IV.5.4.1. Espace de nommage

Afin de pouvoir employer des termes dans une ontologie, il est nécessaire d'indiquer avec précision de quels vocabulaires ces termes proviennent. C'est la raison pour laquelle, une ontologie commence par une déclaration d'espace de nom contenue dans une balise rdf:RDF.

Supposons que nous souhaitons écrire une ontologie sur une population de personnes ou, d'une manière plus générale, sur l'humanité. Voici la déclaration d'espace de nom qui pourrait être employée :

<rdf:RDF

xmlns = " http://domain.tld/path/humanite#"

xmlns:humanite= " http://domain.tld/path/humanite#" xmlns:base = " http://domain.tld/path/humanite#" xmlns:vivant = " http://otherdomain.tld/otherpath/vivant#" xmlns:owl = " http://www.w3.org/2002/07/owl#"

xmlns:rdf = " http://www.w3.org/1 999/02/22-rdf-syntax-ns#" xmlns:rdfs = " http://www.w3.org/2000/0 1/rdf-schema#" xmlns:xsd = " http://www.w3.org/2001/XMLSchema#">

 

Les deux premières déclarations identifient l'espace de nommage propre à l'ontologie que nous sommes en train d'écrire. La première déclaration d'espace de nom indique à quelle ontologie se rapporter en cas d'utilisation de noms sans préfixe dans la suite de l'ontologie. La troisième déclaration identifie l'URI de base de l'ontologie courante.

La quatrième déclaration signifie simplement que, au cours de la rédaction de l'ontologie humanité, on va employer des concepts développés dans une ontologie vivant, qui décrit ce qu'est un être vivant.

14

 
 

Web sémantique

Ontologies & e-learning

Conception

Implémentation

 

Les quatre dernières déclarations introduisent le vocabulaire d'OWL et les objets définis dans l'espace de nommage de RDF, du schéma RDF et des types de données du Schéma XML.

IV.5.4.2. En-tête d'une ontologie

A la suite de la déclaration d'espaces de nom, un en-tête décrivant le contenu de l'ontologie courante. C'est la balise owl:Ontology qui permet d'indiquer ces informations :

<owl:Ontology rdf:about="">

<rdfs:comment>Ontologie décrivant l'humanité</rdfs:comment> <owl:imports rdf:resource=" http://otherdomain.tld/otherpath/vivant"/> <rdfs:label>Ontologie sur l'humanité</rdfs:label>

 

IV.5.4.3. Eléments du langage

Cette partie ne va pas reprendre toutes les finesses de OWL Lite, OWL DL et OWL Full, mais uniquement les plus importantes.

> Les classes

Une classe définit un groupe d'individus qui sont réunis parce qu'ils ont des caractéristiques similaires. L'ensemble des individus d'une classe est désigné par le terme « extension de classe », chacun de ces individus étant alors une « instance » de la classe. Les trois versions d'OWL comportent les mêmes mécanismes de classe, à ceci près que OWL FULL est la seule version à permettre qu'une classe soit l'instance d'une autre classe (d'une méta classe). A l'inverse, OWL Lite et OWL DL n'autorisent pas qu'une instance de classe soit elle-même une classe.

> Déclaration de classe

La déclaration d'une classe se fait par le biais du mécanisme de « description de classe », qui se présente sous diverses formes. Une classe peut ainsi se déclarer de six manières différentes :


· l'indicateur de classe

La description de la classe se fait, dans ce cas, directement par le nommage de cette classe. Une classe « humain » se déclare de la manière suivante :

15

 
 

Web sémantique

Ontologies & e-learning

Conception

Implémentation

 

<owl:Class rdf:ID="Humain" />

Il est à noter que ce type de description de classe est le seul qui permette de nommer une classe. Dans les cinq autres cas, la description représente une classe dite « anonyme », crée en plaçant des contraintes sur son extension.

~ l'énumération des individus composant la classe

Ce type de description se fait en énumérant les instances de la classe, à l'aide de la propriété owl:oneOf :

<owl:Class>

<owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Damien" /> <owl:Thing rdf: about="#Olivier" /> <owl:Thing rdf: about="#Philippe" /> <owl:Thing rdf:about="#Xavier" /> <owl:Thing rdf:about="#Yves" /> </owl:oneOf>

</owl:Class>

 

Si ce mécanisme est utilisable avec OWL DL et OWL FULL, il ne fait cependant pas partie de OWL Lite.


· La restriction de propriétés

La description par restriction de propriété permet de définir une classe anonyme composée de toutes les instances de owl:Thing qui satisfont une ou plusieurs propriétés.

Ces contraintes peuvent être de deux types : contrainte de valeur ou contrainte de cardinalité.

Une contrainte de valeur s'exerce sur la valeur d'une certaine propriété de l'individu (par exemple, pour un individu de la classe Humain, sexe = Homme), tandis qu'une contrainte de cardinalité porte sur le nombre de valeurs que peut prendre une propriété (par exemple, pour un individu de la classe Humain, aPourFrere est une propriété qui peut ne pas avoir de valeur, ou avoir plusieurs valeurs, suivant le nombre de frères de l'individu. La contrainte de cardinalité

16

 
 

Web sémantique

Ontologies & e-learning

Conception

Implémentation

 

portant sur aPourFrere restreindra donc la classe décrite aux individus pour lesquels la propriété aPourFrere apparaît un certain nombre de fois).

Enfin, les descriptions par intersection, union ou complémentaire permettent de décrire une classe par l'intersection, l'union ou le complémentaire d'autres classes déjà définies, ou dont la définition se fait au sein même de la définition de la classe courante .

Dans l'exemple on définit une nouvelle classe qui est l'intersection de la classe collection avec la restriction de la classe etudiantsENST sur les étudiants ayant deux frères:

<owl:Class>

<owl:intersectionOf rdf:parseType="Collection">

<owl:Class rdf: about="#etudiantsENST" />

<owl:Restriction>

<owl:onProperty rdf:resource="#aPourFrere" />

<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger"> 2

</owl:cardinality>

</owl:Restriction >

</owl:intersectionOf>

</owl:Class>

 

> Héritage

Il existe dans toute ontologie OWL une superclasse, nommée Thing, dont toutes les autres classes sont des sous-classes. Ceci nous amène directement au concept d'héritage, disponible à l'aide de la propriété subClassOf :

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

<rdfs:subClassOf rdf:resource="&etre;#EtreVivant" /> </owl:Class>

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

<rdfs:subClassOf rdf:resource="#Humain" />

 

17

 
 

Web sémantique

Ontologies & e-learning

Conception

Implémentation

 

</owl:Class>

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

<rdfs:subClassOf rdf:resource="#Humain" />

</owl:Class>

Enfin, il existe également une classe nommée noThing, qui est sous-classe de toutes les classes OWL. Cette classe ne peut avoir aucune instance.

> Les instances de classe

La définition d'un individu consiste à énoncer un « fait », encore appelé « axiome d'individu ». On peut distinguer deux types de faits :

~ les faits concernant l'appartenance à une classe

La plupart des faits concernent généralement la déclaration de l'appartenance d'un individu à une classe et les valeurs de propriété de cet individu. Un fait s'exprime de la manière suivante :

<Humain rdf:ID="Pierre">

<aPourPere rdf:resource="#Jacques" /> <aPourFrere rdf:resource="#Paul" /> </Humain>

 

Le fait écrit dans cet exemple exprime l'existence d'un Humain nommé « Pierre » dont le père s'appelle « Jacques », et qu'il a un frère nommé « Paul ».

On peut également instancier un individu anonyme en omettant son identifiant :

<Humain>

<aPourPere rdf:resource="#Jacques" /> <aPourFrere rdf:resource="#Paul" /> </Humain>

 

Ce fait décrit, dans ce cas, l'existence d'un Humain dont le père se nomme « Jacques » et qui a un frère nommé « Paul ».

~ les faits concernant l'identité des individus

18

 
 

Web sémantique

Ontologies & e-learning

Conception

Implémentation

 

Une difficulté qui peut éventuellement apparaître dans le nommage des individus concerne la non-unicité éventuelle des noms attribués aux individus. Par exemple, un même individu pourrait être désigné de plusieurs façons différentes.

C'est la raison pour laquelle OWL propose un mécanisme permettant de lever cette ambiguïté, à l'aide des propriétés owl:sameAs, owl:diffrentFrom et owl:allDifferent.

L'exemple suivant permet de déclarer que les noms « Louis_XIV » et « Le_Roi_Soleil » désignent la même personne.

<rdf:Description rdf:about="#Louis_XIV"> <owl:sameAs rdf:resource="#Le_Roi_Soleil" /> </rdf:Description>

 

> Les propriétés

Maintenant que l'on sait écrire des classes OWL, il ne manque plus que la capacité à exprimer des faits au sujet de ces classes et de leurs instances. C'est ce que permettent de faire les propriétés OWL.

OWL fait la distinction entre deux types de propriétés :

· les propriétés d'objet permettent de relier des instances à d'autres instances

· les propriétés de type de donnée permettent de relier des individus à des valeurs de données.

Une propriété d'objet est une instance de la classe owl:ObjectProperty, une propriété de type de donnée étant une instance de la classe owl:DatatypeProperty. Ces deux classes sont elles même sous-classes de la classe RDF rdf:Property.

La définition des caractéristiques d'une propriété se fait à l'aide d'un axiome de propriété qui, dans sa forme minimale, ne fait qu'affirmer l'existence de la propriété

<owl:ObjectProperty rdf:ID="aPourParent" />

Cependant, il est possible de définir beaucoup d'autres caractéristiques d'une propriété dans un axiome de propriété.

19

 

Web sémantique

Ontologies & e-learning

Conception

Implémentation

> Définition d'une propriété

Afin de spécifier une propriété, il existe différentes manières de restreindre la relation qu'elle symbolise. Par exemple, si on considère que l'existence d'une propriété pour un individu donné de l'ontologie constitue une fonction faisant correspondre à cet individu un autre individu ou une valeur de donnée, alors on peut préciser le domaine et l'image de la propriété. Une propriété peut également être définie comme la spécialisation d'une autre propriété.

<owl:ObjectProperty rdf:ID="habite"> <rdfs:domain rdf:resource="#Humain" /> <rdfs:range rdf:resource="#Pays" /> </owl:ObjectProperty>

Dans l'exemple ci-dessus, la propriété habite a pour domaine la classe Humain et pour image la classe Pays : elle relie des instances de la classe Humain à des instances de la classe Pays. Dans le cas d'une propriété de type de donnée, l'image de la propriété peut être un type de donnée, de Schéma XML.

Par exemple, on peut définir la propriété de type de données anneeDeNaissance :

<owl:Class rdf:ID="dateDeNaissance" />

<owl:DatatypeProperty rdf:ID="anneeDeNaissance"> <rdfs:domain rdf:resource="#dateDeNaissance" /> <rdfs:range rdf:resource="&xsd;positiveInteger"/> </owl:DatatypeProperty>

Dans ce cas, anneDeNaissance fait correspondre aux instances de la classe de dateDeNaissance des entiers positifs .On peut également employer un mécanisme de hiérarchie entre les propriétés, exactement comme il existe un mécanisme d'héritage sur les classes :

<owl:Class rdf:ID="Humain" />

<owl:ObjectProperty rdf:ID="estDeLaFamilleDe"> <rdfs:domain rdf:resource="#Humain" />

<rdfs:range rdf:resource="#Humain" />

20

 

Web sémantique

Ontologies & e-learning

Conception

Implémentation

</owl:ObjectProperty> <owl:ObjectProperty rdf:ID="aPourFrere">

<rdfs:subPropertyOf rdf:resource="#estDeLaFamilleDe" />

<rdfs:range rdf:resource="#Humain" />

...

</owl:ObjectProperty> </owl:Class>

La propriété aPourFrere est une sous propriété de estDeLaFamilleDe, ce qui signifie que toute entité ayant une propriété aPourFrere d'une certaine valeur a aussi une propriété estDeLaFamilleDe de même valeur.

> Caractéristiques des propriétés

En plus de ce mécanisme d'héritage et de restriction du domaine et de l'image d'une propriété, il existe divers moyens d'attacher des caractéristiques aux propriétés, ce qui permet d'affiner grandement la qualité des raisonnements liés à cette propriété.

Parmi les caractéristiques de propriétés principales, on trouve la transitivité, la symétrie, l'inverse, etc. L'ajout d'une caractéristique à une propriété de l'ontologie se fait par l'emploi de la balise type :

<owl:ObjectProperty rdf:ID="aPourPere"> <rdfs:domain rdf:resource="#Humain" /> <rdfs:range rdf:resource="#Humain" /> </owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="aPourFrere">

<rdf:type rdf:resource="&owl; SymmetricProperty" />

<rdfs:domain rdf:resource="#Humain" /> <rdfs:range rdf:resource="#Humain" /> </owl:ObjectProperty>

<Humain rdf:ID="Pierre">

<aPourFrere rdf:resource="#Paul" />

21

 

Web sémantique

Ontologies & e-learning

Conception

Implémentation

<aPourPere rdf:resource="#Jacques" /> </Humain>

L'Humain Pierre a pour frère Paul, de même que (symétrie) l'Humain Paul a pour frère Pierre.
Par contre, si Pierre a pour père Jacques, l'inverse n'est pas vrai (aPourPere n'est pas symétrique).

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"I don't believe we shall ever have a good money again before we take the thing out of the hand of governments. We can't take it violently, out of the hands of governments, all we can do is by some sly roundabout way introduce something that they can't stop ..."   Friedrich Hayek (1899-1992) en 1984