TPs Ontologies - 2019§

Préparation

Téléchargez et installez le logiciel Protégé.

Partie I (24/05/2019)§

Important

On ne vous demande pas de rendu pour ce TP. L’objectif est de vous familiariser avec Protégé, en vue du prochain TP (qui, lui, sera évalué). N’hésitez pas à discuter des résultats que vous obtenez avec l’enseignant ou entre vous.

Lancez Progété, et choisissez l’option « Open from URL », et ouvrez l’ontologie :

Pour les deux premières questions, vous vous concentrerez sur l’onglet Entities. Notez aussi que les termes de l’ontologie, où qu’ils apparaissent, sont des liens vers la définition correspondante. Ceci vous permet de naviguer d’un élément à l’autre, sans avoir à repasser à chaque fois par les panneaux de gauche. Notez enfin que le bouton < en haut à gauche vous permet de revenir en arrière dans votre navigation.

Question 1§

Pour chacun des éléments suivants, retranscrivez en français ce qu’en dit l’ontologie.

  1. la classe Restaurant
  2. la propriété sert
  3. la propriété serviPar
  4. la classe RestaurantJaponnais
  5. la classe Bouchon
  6. la classe Formule
  7. la classe Gastronomique

Important : contentez-vous de transcrire ce qui est explicitement dit par l’ontologie, pas ce que vous en déduisez ni ce que vous « devinez » en fonction des termes choisis.

Question 2§

Réglez les préférences du moteur d’inférence (raisonneur) : dans le menu File > Preferences, onglet Reasoner, cochez toutes les cases et validez ; puis dans le menu Reasoner, assurez-vous que HermiT est coché. Activez ensuite le moteur d’inférence par le menu Reasoner > Start reasoner (CTRL+R).

Notez que de nouvelles connaissances (sur fond jaune pale) apparaissent. Pour chacune des classes et propriétés listées à la question précédente, décrivez en français les connaissances ajoutées par l’inférence sous les rubriques Subclass of et Disjoint with, et expliquez ces inférences (vous pouvez pour cela vous aider du bouton ”?” situé à droite de chaque connaissance).

Question 3§

Dans le menu Window > Tabs, cochez DL Query, puis ouvrez l’onglet correspondant. Dans le panneau de droite de cet onglet, assurez-vous que les cases Direct superclasses, Equivalent classes et Direct subclasses sont bien cochées.

Dans l’onglet DL Query, écrivez (en syntaxe Manchester) une classe complexe qui permet de répondre aux questions suivantes. Expliquez les réponses données (en vous aidant éventuellement du bouton ”?”).

Q3.1 :

Est-il possible d’avoir un dessert et une boisson dans une formule midi ?

Q3.2 :

Est-il possible d’avoir un cappuccino dans un restaurant japonnais ?

Q3.3 :

Est-il possible d’avoir un cappuccino dans une pizzeria ?

Question 4§

Ajoutez une propriété “propose” qui relie des restaurants à des formules.

On serait tenté de dire qu’un restaurant qui propose une formule contenant des sushis est, nécessairement, un restaurant japonnais (selon la définition de l’ontologie). Vérifiez dans l’onglet DL Query si le raisonneur arrive à cette conclusion. Si ce n’est pas le cas, comment y remédier ?

Question 5§

Créez

  • une instance de Restaurant “chez_mario”,
  • une instance de Pizza “reine”,
  • une instance de Pizza “napolitaine”.

Faites en sorte que “chez_mario” serve “reine” et “napolitaine”.

Raffraichissez le raisonneur avec CTRL+R. Quelles connaissances le système a-t-il déduit sur ces instances ? Le restaurant “chez_mario” est-il reconnu comme un Pizzeria ? Pourquoi ?

Partie II (18/06/2019)§

Important

Ce TP est à rendre en binôme, avant la fin de la séance. Vous déposerez sur Tomuss (un seul dépôt par binôme) une archive contenant :

  • le fichier OWL produit par Protégé (contenant les réponses aux questions 1 et 3), et
  • un document PDF contenant vos réponses aux question 2 et 4.

Dans le document PDF, vous préciserez bien les deux membres du binôme.

Question 1§

On vous demande de créer une ontologie avec Protégé, répondant au cahier des charges suivant :

Notre application porte sur quatre types d’objets distincts : les personnes, les établissements, les formations et les unités d’enseignement (UE). Un établissement dispense des formations. Une formation contient des UEs. Une personne peut être employée par un établissement, être inscrite à une formation, enseigner une UE, suivre une UE.

Les établissements peuvent être de plusieurs types distincts : École d’Ingénieur, IUT, Université. Les formations peuvent être de plusieurs types distincts : DUT, Licence, Master, Diplôme d’Ingénieur. Les écoles d’ingénieur ne dispensent que des diplômes d’ingénieur. Les IUT ne dispensent que des DUT. Les universités ne dispensent que des licences et des master.

Toute formation contient au moins une UE. Toute UE est contenue dans au moins une formation. Les UEs peuvent être mutalisées (contenue dans plusieurs formations), mais uniquement entre DUT et Licence d’une part, et entre Master et Diplôme d’ingénieur d’autre part.

Toute personne qui suit une UE est un étudiant. Toute personne qui enseigne une UE est un enseignant. Une personne inscrit à une formation suit nécessairement les UEs de cette formation.

Sauvegardez votre ontologie au formar RDF/XML, avec l’extension .owl.

Indice

Il pourra être utile de créer d’autres classes ou propriétés que celles qui sont explicitement nommées dans le cahier des charges.

Avertissement

N’utilisez pas d’apostrophe dans le nom des classes ou des propriétés. Cela cause des erreurs dans Protégé.

En revanche, vous pouvez utiliser des lettres accentuées ou des espaces (ces dernières seront remplacées par “_”).

Question 2§

Activez le moteur d’inférence. Quelle nouvelle connaissance est-elle disponible à propos de la propriété inscrit à ? Expliquez comment elle a été inférée.

Question 3§

Dans le sous-onglet Individuals de l’onglet Entites, ajoutez à votre ontologie quatre individus e1, m1, u1 et p1. Ajoutez à m1 le type Master. Ajoutez ensuite les object property assertions suivantes :

  • e1 dispense m1
  • m1 contient u1
  • p1 inscrit à m1

Question4§

Synchronisez le moteur d’inférence. Quelles nouvelles connaissances sont-elles disponibles à propos de e1, u1 et p1. Pour chacune, expliquez comment elle a été inférée.