Construction d’une ontologie à l’aide de l’outil « Protégé »

Ce matériel présente la construction d’une ontologie à l’aide de l’outil Protégé. Il s’adresse aux étudiants et chercheurs souhaitant modéliser des connaissances sous forme d’ontologies en utilisant un logiciel dédié. Le contenu détaille la création de classes, propriétés et restrictions, ainsi que la détection d’incohérences dans l’ontologie.

D'après le document Construction d’une ontologie à l’aide de l’outil « Protégé »

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Construction d’une ontologie à l’aide de l’outil « Protégé »

Document source

Ce matériel présente la construction d’une ontologie à l’aide de l’outil Protégé. Il s’adresse aux étudiants et chercheurs souhaitant modéliser des connaissances sous forme d’ontologies en utilisant un logiciel dédié. Le contenu détaille la création de classes, propriétés et restrictions, ainsi que la détection d’incohérences dans l’ontologie.

Création des classes et hiérarchie

Pour commencer, il faut définir les classes principales et leur organisation hiérarchique :

  • Animal est une classe de base.
  • Plante est une autre classe, disjointe d’Animal (aucun individu ne peut appartenir aux deux).
  • Arbre est une sous-classe de Plante.
  • Branche est une partie d’un Arbre.
  • Feuille est une partie d’une Branche.
  • Herbivore est un Animal qui ne mange que des Plantes ou des parties de Plantes.
  • Carnivore est un Animal qui mange aussi des Animaux.
  • Girafe est un Herbivore qui ne mange que des Feuilles.
  • Lion est un Carnivore qui ne mange que des Herbivores.
  • PlanteSavoureuse est une Plante mangée à la fois par un Herbivore et un Carnivore.

Étapes de construction dans Protégé

  1. Lancer Protégé, puis sauvegarder l’ontologie au format RDF/XML à l’emplacement souhaité.
  2. Créer la hiérarchie des classes listées ci-dessus. Pour indiquer que Plante et Animal sont disjointes, sélectionner l’une des deux classes, puis dans la vue Description utiliser l’option Disjoint With pour choisir l’autre.
  3. Dans l’onglet Object Properties, créer les propriétés suivantes :
    • mange : domaine Animal
    • mangePar : inverse de mange
    • partieDe : propriété transitive
  4. Revenir à l’onglet Classes pour définir les restrictions complexes sur les classes.

Définition des restrictions par exemples

Exemple 1 : Branche est une partie d’un Arbre

Sélectionner la classe Branche dans la hiérarchie, puis dans la vue Description cliquer sur SubClass Of. Dans l’onglet Object restriction creator, choisir :

  • Propriété : partieDe
  • Classe cible : Arbre
  • Quantificateur : Only (universal)

Valider pour obtenir la restriction suivante en syntaxe de Manchester :

partieDe only Arbre

Exemple 2 : Feuille est une partie d’une Branche

Procéder de la même manière pour la classe Feuille afin d’obtenir :

partieDe only Branche

Exemple 3 : Herbivore mange uniquement des Plantes ou parties de Plantes

Pour la classe Herbivore, dans SubClass Of, cliquer sur Edit et saisir l’expression suivante en syntaxe de Manchester :

Animal and mange only (Plante or partieDe only Plante)

Cette expression signifie que Herbivore est un Animal et que tout ce qu’il mange est soit une Plante, soit une partie d’une Plante.

Exemple 4 : Carnivore mange au moins un Animal

Pour la classe Carnivore, définir la restriction :

Animal and mange some Animal

Ce qui signifie qu’un Carnivore est un Animal qui mange au moins un Animal.

Exemple 5 : Girafe et Lion

  • Girafe est un Herbivore qui ne mange que des Feuilles :
  • Herbivore and mange only Feuille
  • Lion est un Carnivore qui ne mange que des Herbivores :
  • Carnivore and mange only Herbivore

Visualisation et vérification de l’ontologie

Pour voir le rendu RDF/XML de l’ontologie, utiliser le menu :

Window > Views > Ontology Views > RDF/XML Rendering

Cette vue affiche le code généré automatiquement par Protégé, mais ne permet pas de modifier l’ontologie manuellement.

Détection d’incohérences avec un reasoner

Un des avantages majeurs de Protégé est la possibilité d’utiliser un reasoner pour détecter des incohérences dans l’ontologie.

Exemple d’incohérence

Ajouter la classe AnimalPlante qui est à la fois sous-classe de Animal et de Plante. Puis :

  1. Dans le menu Reasoner, sélectionner un reasoner comme FaCT++, Pellet ou Hermit.
  2. Cliquer sur Start Reasoner.

La classe AnimalPlante apparaîtra en rouge dans la hiérarchie inférée, indiquant une incohérence, car Animal et Plante sont disjointes.

En cliquant sur le point d’interrogation à côté de Nothing dans la vue Description, Protégé explique la cause de l’incohérence.

Correction de l’incohérence

Pour revenir à une ontologie cohérente, supprimer les superclasses de AnimalPlante en cliquant sur X dans la ligne correspondante. Puis relancer le reasoner avec Synchronize reasoner. L’incohérence disparaît et la classe n’apparaît plus en rouge.

Glossaire des termes clés

  • Classe : catégorie ou concept dans l’ontologie (ex. Animal, Plante).
  • Sous-classe : classe plus spécifique dérivée d’une autre (ex. Arbre est sous-classe de Plante).
  • Propriété : relation entre individus (ex. mange, partieDe).
  • Domaine : classe à laquelle s’applique une propriété (ex. Animal pour mange).
  • Inverse : propriété inverse d’une autre (ex. mangePar est inverse de mange).
  • Propriété transitive : propriété où la relation s’étend par chaîne (ex. partieDe).
  • Restriction universelle (Only) : indique que tous les éléments liés par la propriété appartiennent à une certaine classe.
  • Restriction existentielle (Some) : indique qu’il existe au moins un élément lié par la propriété appartenant à une certaine classe.
  • Disjoint : deux classes sont disjointes si elles ne partagent aucun individu.
  • Reasoner : moteur d’inférence qui vérifie la cohérence et déduit des informations.
  • Incohérence : contradiction dans l’ontologie, par exemple une classe appartenant à deux classes disjointes.

Points clés à retenir

  • Protégé permet de créer des ontologies en définissant classes, propriétés et restrictions.
  • Les classes peuvent être hiérarchisées et déclarées disjointes pour éviter les chevauchements.
  • Les propriétés peuvent avoir un domaine, un inverse et être transitive.
  • Les restrictions universelles (only) et existentielles (some) permettent de préciser les relations entre classes.
  • Le reasoner intégré détecte automatiquement les incohérences dans l’ontologie.
  • La syntaxe de Manchester facilite la saisie des expressions complexes dans Protégé.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions