Comment créer une ontologie avec Protégé : tutoriel pas à pas

Protégé est un éditeur d’ontologies permettant de construire des modèles fondés notamment sur OWL.

Il peut être utilisé pour définir :

Dans ce tutoriel, nous allons créer une petite ontologie consacrée à la formation.

Elle permettra de représenter :

Participant
Formation
Compétence
Formateur
Session
Certification

Nous définirons ensuite des relations comme :

Une formation développe une compétence.
Une formation exige un prérequis.
Un formateur anime une session.

L’objectif n’est pas de construire une ontologie complète de la formation professionnelle, mais d’apprendre une méthode réutilisable.

Avant d’ouvrir Protégé

La première erreur consiste à commencer directement dans le logiciel.

Préparez d’abord le besoin.

Questions auxquelles répondre

Notre ontologie devra permettre de traiter les questions suivantes :

  1. Quelles compétences une formation développe-t-elle ?
  2. Quels prérequis exige-t-elle ?
  3. Quel formateur anime une session ?
  4. Quelle formation est mise en œuvre dans une session ?
  5. Quel participant possède le niveau requis ?
  6. Quelle certification valide une compétence ?

Ces questions guideront la construction.

Vocabulaire initial

Personne
Participant
Formateur
Formation
Session
Compétence
Niveau
Prérequis
Certification

Relations initiales

possèdeCompétence
développeCompétence
exigePrérequis
animeSession
metEnOeuvreFormation
valideCompétence

Étape 1 — Créer un nouveau projet

Après avoir lancé Protégé, créez une nouvelle ontologie.

Le logiciel vous demande généralement de définir un identifiant pour l’ontologie.

Exemple :

https://knowledge-engineering.fr/ontologies/formation

Cet identifiant sert à distinguer votre ontologie des autres modèles.

Il ne doit pas être confondu avec l’adresse d’une page destinée aux visiteurs.

Choisir un espace de noms

Les entités de l’ontologie pourront utiliser un préfixe.

Exemple :

form:

Ainsi :

form:Formation
form:Competence
form:developpeCompetence

représentent des entités appartenant au même vocabulaire.

Étape 2 — Ajouter les annotations générales

Documentez l’ontologie dès le départ.

Ajoutez notamment :

Exemple :

Titre :
Ontologie de démonstration consacrée aux formations.

Description :
Modèle représentant les participants, formations, compétences, sessions et certifications.

Version :
0.1

Langue :
fr

Une ontologie non documentée devient difficile à reprendre.

Étape 3 — Créer les classes principales

Ouvrez la vue consacrée aux classes.

Créez les classes suivantes :

Personne
Formation
Session
Competence
Certification

Ces classes constituent les catégories générales du modèle.

Ajouter les sous-classes

Sous Personne, créez :

Participant
Formateur

Sous Formation, créez :

FormationDebutante
FormationIntermediaire
FormationAvancee

Sous Competence, créez :

CompetenceTechnique
CompetenceCommerciale
CompetenceManageriale

La hiérarchie devient :

Personne
├── Participant
└── Formateur

Formation
├── FormationDebutante
├── FormationIntermediaire
└── FormationAvancee

Competence
├── CompetenceTechnique
├── CompetenceCommerciale
└── CompetenceManageriale

Bien nommer les classes

Choisissez une convention cohérente.

Exemples possibles :

FormationAvancee

ou :

Formation_Advancee

Évitez de mélanger plusieurs conventions.

L’identifiant technique peut être compact, tandis qu’une annotation lisible fournit le libellé :

Identifiant :
FormationAvancee

Libellé français :
Formation avancée

Étape 4 — Ajouter les définitions

Chaque classe importante doit posséder une définition.

Formation

Programme pédagogique structuré visant le développement d’une ou plusieurs compétences.

Session

Événement daté mettant en œuvre une formation pour un groupe de participants.

Compétence

Capacité mobilisable pour réaliser une activité ou atteindre un résultat.

Certification

Dispositif attestant la validation d’une ou plusieurs compétences.

Ces définitions réduisent les ambiguïtés.

Étape 5 — Créer les propriétés d’objet

Une propriété d’objet relie deux individus.

Créez les relations suivantes :

possedeCompetence
developpeCompetence
exigePrerequis
anime
metEnOeuvre
valideCompetence
participeA

Définir le domaine et la portée

possedeCompetence

Domaine :
Participant

Portée :
Competence

La relation signifie :

Un participant possède une compétence.

developpeCompetence

Domaine :
Formation

Portée :
Competence

anime

Domaine :
Formateur

Portée :
Session

metEnOeuvre

Domaine :
Session

Portée :
Formation

valideCompetence

Domaine :
Certification

Portée :
Competence

Attention au domaine et à la portée

Ils ne servent pas uniquement à documenter la relation.

Selon la sémantique OWL, leur utilisation peut permettre au raisonneur de déduire le type des éléments reliés.

Si vous affirmez :

Marie anime SessionOctobre.

et si le domaine de anime est Formateur, le système peut déduire :

Marie est une Formatrice.

Il faut donc les utiliser avec précision.

Étape 6 — Créer les relations inverses

Certaines relations peuvent être lues dans les deux directions.

Relation directe

Formateur → anime → Session

Relation inverse

Session → estAnimeePar → Formateur

Autres exemples :

Formation → developpeCompetence → Competence

Inverse :

Competence → estDeveloppeePar → Formation

Les relations inverses facilitent les requêtes.

Étape 7 — Créer les propriétés de données

Les propriétés de données relient un individu à une valeur.

Pour Formation, créez :

titre
dureeHeures
prix
niveau
reference

Pour Session, créez :

dateDebut
dateFin
capaciteMaximale

Pour Personne, créez :

nom
adresseEmail

Types de valeurs

Exemples :

titre → texte
dureeHeures → nombre entier
prix → nombre décimal
dateDebut → date
capaciteMaximale → nombre entier

Choisir le bon type facilite la validation.

Étape 8 — Ajouter des restrictions

Une restriction décrit une condition associée à une classe.

Toute formation développe au moins une compétence

Pour la classe Formation, ajoutez une restriction correspondant à :

developpeCompetence au moins 1 Competence

Toute session met en œuvre exactement une formation

metEnOeuvre exactement 1 Formation

Toute session est animée par au moins un formateur

estAnimeePar au moins 1 Formateur

Une formation avancée possède un prérequis

exigePrerequis au moins 1 Competence

Ces contraintes donnent davantage de sens au modèle.

Étape 9 — Déclarer les classes disjointes

Deux classes disjointes ne peuvent pas partager le même individu.

Exemple :

Personne

et :

Formation

peuvent être déclarées disjointes.

Un même élément ne devrait pas être simultanément une personne et une formation.

Vous pouvez également déclarer disjointes :

Participant
Formateur

uniquement si une même personne ne peut jamais remplir les deux rôles dans votre domaine.

Dans de nombreuses organisations, une personne peut être à la fois participante et formatrice. Il ne faudrait alors pas déclarer ces classes disjointes.

Cette décision doit dépendre du domaine réel.

Étape 10 — Créer des individus

Ajoutez quelques instances pour tester l’ontologie.

Personnes

MarieDupont
PaulMartin

Types :

MarieDupont → Participant
PaulMartin → Formateur

Compétences

CompetenceSEODebutant
CompetenceSEOIntermediaire
CompetenceSEOAvance

Formations

FormationSEOIntermediaire
FormationSEOAvancee

Sessions

SessionSEOOctobre

Certification

CertificationSEO

Étape 11 — Ajouter les faits

Marie possède une compétence

MarieDupont → possedeCompetence → CompetenceSEODebutant

La formation intermédiaire développe une compétence

FormationSEOIntermediaire
→ developpeCompetence
→ CompetenceSEOIntermediaire

La formation avancée exige un prérequis

FormationSEOAvancee
→ exigePrerequis
→ CompetenceSEOIntermediaire

Paul anime une session

PaulMartin → anime → SessionSEOOctobre

La session met en œuvre une formation

SessionSEOOctobre
→ metEnOeuvre
→ FormationSEOIntermediaire

La certification valide une compétence

CertificationSEO
→ valideCompetence
→ CompetenceSEOAvance

Étape 12 — Ajouter les valeurs

Pour FormationSEOIntermediaire :

titre :
Formation SEO intermédiaire

dureeHeures :
14

niveau :
Intermédiaire

reference :
SEO-INT-01

Pour SessionSEOOctobre :

dateDebut :
2026-10-12

capaciteMaximale :
12

Étape 13 — Lancer un raisonneur

Un raisonneur peut analyser l’ontologie afin de :

Avant de le lancer, enregistrez le projet.

Examinez ensuite :

Exemple d’inférence

Supposons que :

anime possède pour domaine Formateur.

et que :

PaulMartin anime SessionSEOOctobre.

Le raisonneur peut conclure :

PaulMartin est un Formateur.

Même si ce type n’avait pas été ajouté directement.

Exemple d’incohérence

Supposons que :

Personne et Formation sont disjointes.

et que :

MarieDupont est une Personne.
MarieDupont est une Formation.

Le raisonneur signale une incohérence.

Étape 14 — Tester avec les questions initiales

Question 1

Quelles formations développent la compétence SEO intermédiaire ?

Le modèle doit retrouver :

FormationSEOIntermediaire

Question 2

Quel prérequis exige la formation avancée ?

Réponse :

CompetenceSEOIntermediaire

Question 3

Qui anime la session d’octobre ?

Réponse :

PaulMartin

Question 4

Quelle formation cette session met-elle en œuvre ?

Réponse :

FormationSEOIntermediaire

Une ontologie utile doit répondre aux questions définies avant sa construction.

Étape 15 — Documenter les décisions de modélisation

Créez un document associé au projet.

Exemple :

Décision :
Participant et Formateur ne sont pas disjoints.

Justification :
Une même personne peut suivre une formation et en animer une autre.

Date :
12 juillet 2026.

Auteur :
Équipe Knowledge Engineering.

Cette documentation évite de rediscuter les mêmes choix plusieurs mois plus tard.

Étape 16 — Enregistrer et exporter

Conservez :

Formats possibles selon les besoins :

Le format Turtle est souvent lisible pour une personne, tandis que les autres formats peuvent être privilégiés selon les outils.

Exemple simplifié en Turtle

@prefix form: <https://knowledge-engineering.fr/ontologies/formation#> .

form:MarieDupont a form:Participant ;
    form:possedeCompetence form:CompetenceSEODebutant .

form:FormationSEOIntermediaire a form:FormationIntermediaire ;
    form:developpeCompetence form:CompetenceSEOIntermediaire .

form:SessionSEOOctobre a form:Session ;
    form:metEnOeuvre form:FormationSEOIntermediaire ;
    form:estAnimeePar form:PaulMartin .

Organiser la maintenance

Définissez :

Cycle recommandé

Proposition
  ↓
Discussion
  ↓
Modélisation
  ↓
Test
  ↓
Validation métier
  ↓
Publication

Erreurs fréquentes

Créer trop de classes

Une classe doit répondre à une question ou à une règle utile.

Confondre classe et individu

Formation

est une classe.

Formation SEO intermédiaire

est un individu.

Utiliser des relations trop générales

Évitez :

estLieA

Préférez :

developpeCompetence
anime
exigePrerequis

Définir un domaine trop restrictif

Une mauvaise définition peut produire des inférences inattendues.

Déclarer des classes disjointes sans vérifier le domaine

Deux rôles apparemment différents peuvent être exercés par la même personne.

Ajouter des données avant le modèle

Commencez par les questions, les concepts et les relations.

Ne pas définir de libellés

Les identifiants techniques deviennent difficiles à lire.

Ne pas lancer le raisonneur

Certaines incohérences restent invisibles.

Construire une ontologie sans données de test

Un modèle abstrait peut sembler correct sans répondre aux questions réelles.

Checklist Protégé

À retenir

  1. Une ontologie commence par des questions, pas par le logiciel.
  2. Les classes représentent les catégories.
  3. Les individus représentent les éléments concrets.
  4. Les propriétés d’objet relient les individus.
  5. Les propriétés de données associent des valeurs.
  6. Les domaines et portées peuvent produire des inférences.
  7. Les restrictions expriment des contraintes.
  8. Les classes disjointes doivent être utilisées avec prudence.
  9. Les individus de test permettent de vérifier le modèle.
  10. Le raisonneur aide à détecter les incohérences.
  11. Les décisions de modélisation doivent être documentées.
  12. Une petite ontologie utile vaut mieux qu’un modèle immense et inexploitable.

Continuer

Comprendre ce qu’est une ontologie informatique

Comparer taxonomie et ontologie

Comparer une ontologie et un graphe de connaissances