01
📖 Introduction à Protégé
Protégé est un éditeur d'ontologies open source développé par l'Université de Stanford. C'est l'outil de référence dans le monde du web sémantique pour créer, visualiser et manipuler des ontologies OWL et RDFS.
💡 À retenir : Protégé est le "Photoshop des ontologies". Il est gratuit, puissant et utilisé par des milliers de chercheurs et entreprises.
📝 Dans ce tutoriel :
Nous allons créer ensemble une ontologie simple pour un domaine de discours et orateurs.
02
📥 Étape 1 : Installation de Protégé
Téléchargement
Protégé est disponible gratuitement sur le site officiel : protege.stanford.edu
Prérequis
- ✅ Java 11 ou supérieur installé
- ✅ 4 Go de RAM minimum (8 Go recommandé)
- ✅ Espace disque : 500 Mo
Installation (Windows/Mac/Linux)
# 1. Télécharger le fichier .zip ou .dmg depuis le site
# 2. Extraire l'archive
# 3. Lancer Protege.exe (Windows) ou Protege.app (Mac)
# 4. (Optionnel) Ajouter la mémoire Java si nécessaire
💡 Astuce : Pour les grandes ontologies, augmentez la mémoire Java dans Protege.lax : -Xmx4G
03
🆕 Étape 2 : Créer une nouvelle ontologie
Création du fichier
- Lancer Protégé
- File → New
- Sélectionner OWL Ontology
- Nommer le fichier :
monde_semantique.owl
- Définir l'IRI de base :
https://lemondesemantique.fr/onto/
📸 Interface Protégé après création
[Onglets : Classes, Object Properties, Data Properties, Individuals]
💡 Interface : Familiarisez-vous avec les onglets principaux :
- Classes : Définition des concepts
- Object Properties : Relations entre classes
- Data Properties : Attributs (texte, nombres, dates)
- Individuals : Instances concrètes
04
🏷️ Étape 3 : Définir les classes
Les classes représentent les concepts principaux de votre domaine.
Créer une classe
1. Aller dans l'onglet "Classes"
2. Clic droit sur "owl:Thing" → "Add subclass"
3. Nommer la classe : "Orateur"
4. Répéter pour "Discours", "Evenement", "Theme"
Créer une hiérarchie
# Créer une sous-classe
1. Clic droit sur "Personne" → "Add subclass"
2. Nommer : "Orateur"
3. Répéter pour "Auditeur"
# Résultat :
Personne
├── Orateur
└── Auditeur
📊 Notre hiérarchie pour le tutoriel :
owl:Thing
├── Personne
│ ├── Orateur
│ └── Auditeur
├── Discours
├── Evenement
└── Theme
05
🔗 Étape 4 : Définir les propriétés
Propriétés d'objet (Object Properties)
Relient deux classes entre elles.
1. Aller dans l'onglet "Object Properties"
2. Clic droit sur "owl:topObjectProperty" → "Add sub-property"
3. Nommer : "aPrononce"
4. Définir Domain : Orateur, Range : Discours
5. Créer également : "concerne" (Discours → Theme)
6. Créer : "cite" (Discours → Discours)
Propriétés de données (Data Properties)
Attachent des valeurs littérales aux classes.
1. Aller dans l'onglet "Data Properties"
2. Créer : "aPourNom" (Domain: Personne, Range: string)
3. Créer : "aPourDate" (Domain: Discours, Range: date)
4. Créer : "aPourContenu" (Domain: Discours, Range: string)
💡 Domain et Range :
- Domain : Quelle classe peut utiliser cette propriété
- Range : Quel type de valeur ou classe est attendu
06
👤 Étape 5 : Créer des individus (instances)
Les individus sont les instances concrètes de vos classes.
# Créer un orateur
1. Aller dans l'onglet "Individuals by class"
2. Sélectionner la classe "Orateur"
3. Cliquer sur "Add individual"
4. Nommer : "CharlesDeGaulle"
5. Ajouter propriété "aPourNom" → "Charles de Gaulle"
6. Ajouter propriété "aPourDateNaissance" → "1890-11-22"
# Créer un discours
1. Sélectionner la classe "Discours"
2. Ajouter individu : "Appel18Juin"
3. Ajouter propriété "aPourTitre" → "Appel du 18 juin"
4. Ajouter propriété "aPourDate" → "1940-06-18"
5. Ajouter propriété "aPrononce" → CharlesDeGaulle
📊 Visualisation des individus créés :
CharlesDeGaulle (Orateur)
└── aPrononce → Appel18Juin (Discours)
└── aPourDate → "1940-06-18"
07
🧠 Étape 6 : Lancer le raisonneur (Reasoner)
Le raisonneur (reasoner) calcule les inférences logiques de votre ontologie.
1. Menu "Reasoner" → "Start reasoner"
2. Choisir un raisonneur : HermiT (recommandé)
3. Attendre le calcul des inférences
4. Observer les résultats : classes équivalentes, sous-classes inférées
💡 Que fait le raisonneur ?
- ✅ Vérifie la cohérence de l'ontologie
- ✅ Calcule la hiérarchie de classes (sous-classes)
- ✅ Détecte les classes équivalentes
- ✅ Vérifie les contraintes (cardinalités, disjointness)
⚠️ Attention : Le raisonnement peut être long sur des ontologies complexes. Commencez petit !
08
💾 Étape 7 : Exporter l'ontologie
Protégé permet d'exporter votre ontologie dans plusieurs formats.
# Sauvegarder
File → Save As → Choisir le format
# Formats disponibles :
- RDF/XML (.owl) - Standard, interopérable
- Turtle (.ttl) - Lisible par l'homme
- OWL/XML (.owl) - Format XML natif
- JSON-LD (.jsonld) - Pour le web
📝 Recommandation : Utilisez RDF/XML pour l'interopérabilité maximale, ou Turtle pour une meilleure lisibilité.