01
📖 Qu'est-ce que 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 utilisé par des milliers de chercheurs, entreprises et institutions dans le monde. C'est le "Photoshop des ontologies".
🎓
Académique
Référence dans la recherche
🏢
Industriel
Utilisé par de grandes entreprises
🆓
Open Source
Gratuit, licence BSD
🔌
Extensible
Plugins et personnalisation
Principales fonctionnalités :
- ✅ Édition visuelle de classes, propriétés et individus
- ✅ Support complet de OWL 2 et RDFS
- ✅ Moteur d'inférence intégré (HermiT, Pellet, Fact++)
- ✅ Visualisation graphique des ontologies
- ✅ Export vers multiples formats (RDF/XML, Turtle, OWL)
- ✅ Plugins pour étendre les fonctionnalités
02
📥 Installation de Protégé
Téléchargement
Protégé est disponible gratuitement sur le site officiel : protege.stanford.edu
Versions disponibles
| Version | Description | Usage |
| Protégé Desktop |
Application desktop (Java) |
Utilisation locale, ontologies complexes |
| WebProtégé |
Version web, collaborative |
Travail d'équipe, accès distant |
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 ou run.sh : -Xmx4G
03
🖥️ Interface de Protégé
L'interface de Protégé est organisée en onglets principaux :
| Onglet | Fonction |
| Classes | Créer et organiser la hiérarchie des classes |
| Object Properties | Définir les relations entre classes |
| Data Properties | Définir les attributs (chaînes, nombres, dates) |
| Individuals | Créer des instances concrètes |
| DL Query | Interroger l'ontologie |
📝 À savoir : L'interface est entièrement personnalisable. Vous pouvez réorganiser les panneaux, ajouter/supprimer des onglets selon vos besoins.
04
🚀 Créer votre première ontologie
1. Nouvelle ontologie
File → New → OWL Ontology
# Donner un nom (ex: "monde_semantique.owl")
# Définir une IRI de base (ex: https://lemondesemantique.fr/onto/)
2. Définir le préfixe par défaut
Active Ontology → Ontology Prefixes
ex: https://lemondesemantique.fr/onto/
3. Importer des vocabulaires standards
Active Ontology → Direct Imports
Ajouter: https://schema.org/
Ajouter: http://xmlns.com/foaf/0.1/
💡 Bonne pratique : Commencez par réutiliser des vocabulaires existants (Schema.org, FOAF, Dublin Core) plutôt que de tout réinventer.
05
📚 Définir des classes
Créer une hiérarchie de classes
Classes → owl:Thing
├── Personne
│ ├── Orateur
│ └── Auditeur
├── Discours
├── Evenement
└── Theme
Ajouter des sous-classes
- Clic droit sur Personne → Add subclass
- Nommer : Orateur
- Répéter pour Auditeur
Ajouter des annotations (commentaires)
Pour la classe "Orateur" :
rdfs:comment "Personne qui prononce un discours"@fr
🎯 Résultat : Une hiérarchie claire qui structure votre domaine. Les sous-classes héritent des propriétés de leurs classes parentes.
06
🔗 Ajouter des propriétés
Propriétés d'objet (Object Properties)
Relient deux classes entre elles.
Onglet "Object Properties" :
aPrononce (Orateur → Discours)
concerne (Discours → Theme)
cite (Discours → Discours)
Caractéristiques des propriétés
Pour "cite" :
✓ Transitive (si A cite B et B cite C, alors A cite C)
Pour "aPrononce" :
✓ Functional (un discours a un seul auteur)
Propriétés de données (Data Properties)
Attachent des valeurs littérales aux classes.
Onglet "Data Properties" :
aPourNom (Orateur → xsd:string)
aPourDate (Discours → xsd:date)
aPourContenu (Discours → xsd:string)
07
👤 Créer des individus (instances)
Les individus sont les instances concrètes de vos classes.
Créer un orateur
Onglet "Individuals by Class" :
Sélectionner "Orateur"
Cliquer sur "Add individual"
Nommer : "CharlesDeGaulle"
Ajouter propriétés :
aPourNom → "Charles de Gaulle"
aPourDateNaissance → "1890-11-22"
Créer un discours
Sélectionner "Discours"
Nommer : "Appel18Juin"
Ajouter propriétés :
aPourTitre → "Appel du 18 juin"
aPourDate → "1940-06-18"
aPrononce → CharlesDeGaulle
Lancer l'inférence
Reasoner → Start reasoner (HermiT)
Les inférences (ex: sous-classes) sont automatiquement calculées
🚀 Chez Le Monde Sémantique
Nous avons utilisé Protégé pour modéliser notre ontologie initiale, avec plus de 50 orateurs et 100 discours.
Voir le résultat →