Master TIW - Interopérabilité

Pierre-Antoine Champin

Support de cours

http://champin.net/2016/lod

TP n°2 (6/12/2016)

Préparation

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

Lancez Progété, et choisissez l'option « Open OWL ontology from URI », et ouvrez l'ontologie :

http://champin.net/2016/tiw-interop/tp-owl.owl

Votre travail

Le rendu de ce travail (réalisé individuellement ou en binôme) est attendu pour dimanche 18 décembre à 23h59, à déposer sur Tomuss (UE Interopérabilité, TP_Onto_Groupe/Dépôt). Il comportera 1) un rapport répondant aux questions ci-dessous, et 2) le fichier .owl comportant vos modifications.

  1. Ouvrez l'onglet 'Entites' pour vous familiariser avec l'ontologie, notamment via les panneaux de gauche: 'Class hierarchy', 'Object property hierarchy', 'Data property hierarchy', 'Individuals by type'. Examinez les différents axiomes portés par les différentes classes et propriétés. Reformulez en français les connaissances décrites dans cette ontogie.

    NB: dans l'interface de Protégé, les termes de l'ontologie sont toujours des liens, qui vous permettent de naviguer facilement d'un élément à l'autre, sans forcément passer par les panneaux de gauche.

  2. Examinez les classes dont l'icône porte le symbole "≡". Ce sont des classes définies, par un axiome 'EquivalentClass'. Donnez une description textuelle de chacune de ces classes.
  3. Lancez le moteur d'inférence. Dans le menu 'Reasoner', sélectionnez 'HermiT', puis 'Start reasoner'. Notez que de nouveaux axiomes (sur fond jaune pale) apparaissent, ainsi que de nouveaux sous-onglets ('Class hierarchy (inferred)'). Quels changements dans la hiérarchie de classes constatez-vous ? Expliquez les (vous pouvez utiliser le bouton '?' présent sur chaque axiome inféré).
  4. Observez également les individus. Quels nouveaux axiomes constatez-vous ? Expliquez les.
  5. Ajoutez des instances de manière à ce que le moteur d'inférence déduise que 'interop' est un CoursCollectif. Proposez au moins deux manières d'y parvenir, et indiquez laquelle vous semble la plus pertinente.

    NB: Pour rafraîchir les conclusions du moteur d'inférence, utilisez le menu 'Reasoner > Synchronize reasoner' ou tapez Ctrl+R.

  6. Ajoutez à l'ontologie les classes suivantes :

    Ajoutez également des instances à l'ontologie pour que toutes les classes aient au minimum une instance, mais en vous interdisant de rajouter explicitement des instances aux classes définies. Au lieu de cela, faites en sorte que le moteur d'inférence déduise que certaines des instances créées appartiennent à ces classes définies.

    Décrivez dans votre rapport les ajouts effectués et, le cas échéant, les difficultés rencontrées.

  7. En passant par le menu 'File > Check for plugins', installez le plugin 'Snap SPARQL'. Pour l'utiliser, ouvrez un nouvel onglet ('Window > Create new tab'), et ajoutez-y la vue Snap SPARQL ('Window > Views > Query views > Snap SPARQL Query', puis cliquez à l'intérieur du nouvel onglet).

    Dans cet onglet, écrivez une requête qui affiche les cours collectifs enseignés par pchampin, et les étudiants par lesquels ce cours est suivi.

    Vous noterez que cette requête SPARQL utilise non seulement l'information explicitement donnée, mais également celle ajouée par les inférence.

TP n°1 (10/10/2016 et 17/10/2016)

1.1. Publication de données liées à partir d'une BDR

Mise en place

Votre travail

En vous appuyant sur la documentation de D2RQ, Modifiez le fichier mapping.ttl afin d'améliorer la qualité des données publiées. Vous devez notamment:

1.2. Interrogation SPARQL

Mise en place

Votre travail

Écrivez les requêtes permettant de connaître:

Rendu