Protégé

L'éditeur d'ontologies open source de référence pour le web sémantique

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

VersionDescriptionUsage
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 :

OngletFonction
ClassesCréer et organiser la hiérarchie des classes
Object PropertiesDéfinir les relations entre classes
Data PropertiesDéfinir les attributs (chaînes, nombres, dates)
IndividualsCréer des instances concrètes
DL QueryInterroger 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 PersonneAdd 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 →