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.

Document source
Programming, Math, etc. · DOCX · 2 pages
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é
- Lancer Protégé, puis sauvegarder l’ontologie au format
RDF/XMLà l’emplacement souhaité. - 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.
- Dans l’onglet Object Properties, créer les propriétés suivantes :
mange: domaine AnimalmangePar: inverse demangepartieDe: propriété transitive
- 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
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 :
- Dans le menu Reasoner, sélectionner un reasoner comme FaCT++, Pellet ou Hermit.
- 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é.
Commentaires
Aucun commentaire pour le moment. Posez la première question.