DM4 : ONTOLOGIE AVEC OWL
Protégé est un éditeur d’ontologies gratuit et open-source. Il a été développé à l'université
Stanford et est très populaire dans le domaine du Web sémantique et au niveau de la
recherche en informatique. Protégé est développé en Java.
Initiation
1. Télécharger et installer Protégé
2. Mettre à jour tous les plugins File>check for plugins
3. Il est fortement conseillé de suivre ce tutoriel avant de commencer le travail
[Link]
4. En cas de difficulté, ceci est un excellent tutoriel bien détaillé qui couvre presque tous
les aspects de Protégé :
[Link]
5. Documentation SWRL :
[Link]
Contexte
Un hôpital est un système complexe qui repose sur des interactions entre des entités comme
les patients, le personnel médical, les départements, les maladies, et les traitements. Pour
formaliser la gestion de ces interactions, nous allons créer une ontologie en OWL enrichie par
des règles SWRL et illustrée par des exemples d’individus.
Objectifs de l'Ontologie
1. Représenter les entités principales :
o Patients et leurs caractéristiques (nom, âge, diagnostic, etc.).
o Personnel médical, leurs rôles et leurs interactions.
o Maladies, traitements, et départements hospitaliers.
2. Capturer les relations importantes :
o Les patients sont admis dans des départements.
o Le personnel soigne les patients et prescrit des traitements.
o Les maladies et traitements sont associés à des spécialités.
3. Réaliser des inférences avec SWRL :
o Identifier des incohérences ou des manques dans les données.
o Répondre à des questions comme : Quels traitements associer ? Quels
médecins sont surchargés ?
Travail à faire :
1. Créer une nouvelle ontologie en Protégé et donner lui un URI de votre choix
2. Enregistrer l’ontologie avec la syntaxe RDF/XML et l’extension .owl
3. Créer la hiérarchie des classes suivante :
a. Patient
Page 1 sur 4
DM4 : ONTOLOGIE AVEC OWL
b. Personnel : Sous-classes : Medecin, Infirmier, Administratif.
c. Departement
d. Maladie : Sous-classes : MaladieGrave, MaladieNonGrave.
e. Traitement : Sous-classes : Medicament, Procedure.
4. Création des propriétés pour les classes
a. Propriétés Object :
a) estAdmisDans : Patient → Departement.
b) soigne : Personnel → Patient.
c) suivreTraitement : Patient → Traitement.
d) traite : Traitement → Maladie
e) Spécialité : Departement → Maladie
b. Propriétés de Données :
a) nom : Appliquée à toutes les entités (xsd:string).
b) age : Patient → xsd:integer.
c) dateAdmission : Patient → xsd:date.
5. Classes disjointes :
• Patient et Personnel sont disjointes
• Medicament et Procedure sont disjointes
6. Assigner les types pour les propriétés
• La propriété soigne est asymétrique
• La propriété age est fonctionnelle
7. Création des instances
Patients
Patient1 :
Nom : "Jean Dupont"
Âge : 72
Date d'admission : "2024-12-15"
Maladie : Maladie1 (Hypertension artérielle).
Admis dans Departement1
Patient2 :
Nom : "Marie Lemoine"
Âge : 45
Date d'admission : "2024-12-10"
Maladie : Maladie2 (Diabète).
Personnel
Medecin1 :
Nom : "Dr Alice Martin".
Rôle : Soigne Patient1.
Infirmier1 :
Nom : "Paul Lefèvre".
Rôle : Assiste le suivi de Patient1.
Page 2 sur 4
DM4 : ONTOLOGIE AVEC OWL
Départements
Departement1 :
Nom : "Cardiologie".
Spécialité : Traite l’Hypertension artérielle.
Patients : Patient1.
Departement2 :
Nom : "Endocrinologie".
Spécialité : Traite le Diabète.
Patients : Patient2.
Maladies
Maladie1 :
Nom : "Hypertension artérielle".
Gravité : Non grave.
Maladie2 :
Nom : "Diabète".
Gravité : Grave.
Traitements
Traitement1 :
Nom : "Atorvastatine".
Type : Medicament.
Traite : Hypertension artérielle.
Traitement2 :
Nom : "Metformine".
Type : Medicament et Procedure.
Traite : Diabète.
8. Ajouter les restrictions
• Un traitement doit traiter au moins une maladie
• Chaque patient doit être admis dans un seul département
9. Vérification de la cohérence de l’ontologie
• Dans le menu « Reasoner » choisir un moteur d’inférence (de préférence Pellet si non
Hermit) puis cliquer sur « start reasoner »
• Il existe une incohérence dans l’ontologie :
a. Indiquer la
b. Corriger l’incohérence
10. Règles SWRL
• Créer une nouvelle classe “PatientAgé" sous classe de patient qui désigne les patients
dont l’âge est supérieur à 65 ans.
• Créer la propriété objet « travailleDans »
• Cliquer sur Window>Tabs>SWRL Tab
Page 3 sur 4
DM4 : ONTOLOGIE AVEC OWL
• Dans l’onglet SWRL Tab, créer une règle qui classifie automatiquement les patients
agés dans la nouvelle sous classe
• Dans l’onglet SWRL Tab, créer une règle qui relie un personnel avec un département
par la nouvelle relation (travailleDans) s’il soigne un patient appartenant à ce
département.
• Vérifier la bonne exécution des règles (Reasoner>Synchronize Reasoner) et la
nouvelle classification des individus (les résultats inférés sont représentés en jaune)
Travail à rendre :
1. Deux fichiers sont à retourner (dans un dossier compressé):
a. Un fichier PDF contenant des captures d’écran commentées de toutes les
étapes suivies, avec des réponses aux questions posées.
b. Le fichier «.owl» de l’ontologie
2. Soumettre vos travaux à l’adresse mail suivante : [Link]@[Link]
Un mail de confirmation vous sera retourné pour indiquer la bonne réception de votre travail, si
non, renvoyer le mail jusqu’à la réception de la confirmation.
3. Les travaux doivent être soumis avant le samedi 28/12/2024 à 23h. Tout travail
dépassant cette limite de temps ne sera pas accepté.
4. Le travail est individuel. Une sanction sera appliquée sur les travaux identiques.
Page 4 sur 4