Introduction à Protégé

 

Sommaire

Installation de Protégé
Ouverture et sauvegarde d’une base RDF
Configuration SPARQL de l’espace de travail
Importation d’un vocabulaire en ligne
Importation d’un vocabulaire stocké sur notre ordinateur
Installation du moteur d’inférence Pellet
Activation, lancement et synchronisation de Pellet
Visualisation des informations inférées
Configuration de l’espace de travail pour visualiser les inférences
Visualisation de triplets d’une base RDF : sans import d’un vocabulaire
Visualisation et édition des triplets d’une base RDF et du vocabulaire RDFS/OWL : après import d’un vocabulaire
Déclaration de classes, de propriétés et d’instances
Déclaration de classes par union, intersection et énumération
Déclaration de restrictions

Installation de Protégé

Page pour télécharger la version utilisée dans le cours :
https://protege.stanford.edu/download/protege/4.3/installanywhere/Web_Installers/ 

Important :

  • Vous devez absolument installer la version 4.3 et non la version 5.0 Béta qui est proposée par défaut sur le site de Protégé.
  •  La version 4.3 est disponible autant pour les utilisateurs de Windows que pour les utilisateurs de Mac OS X.
  • Si vous êtes un utilisateur de Windows, choisissez la version 32 bits incluant la machine virtuelle Java 1.6 (Java VM) :

    Protege-installation-1
  •  Lors de l’installation, quand on vous demande d’utiliser la machine virtuelle incluse dans le fichier d’installation ou d’utiliser une machine virtuelle déjà installée sur votre ordinateur, choisissez la première option.

    Protege-installation-2

La documentation du logiciel est très détaillée :
https://protegewiki.stanford.edu/wiki/Protege4UserDocs#Protege-OWL_Editor.

Toutefois, ci-dessous, vous trouvez quelques instructions ou conseils particulièrement utiles pour l’usage que l’on fait de Protégé dans le cours INF 6070.

Retour au sommaire

Ouverture et sauvegarde d’une base RDF

Ouvrir une base RDF dans Protégé n’est pas plus compliqué que l’ouverture d’un fichier document dans Word. Pareillement, pour sauvegarder une base RDF, utilisez les fonctions usuelles Save ou Save as.


Retour au sommaire

Configuration SPARQL de l’espace de travail

L’espace de travail de Protégé peut prendre différentes formes. En voici une qui est efficace lorsque l’on exécute des requêtes SPARQL sur une base RDF.

À partir de l’onglet SPARQL, vous avez accès à une fenêtre d’édition de requêtes. Pour exécuter une requête, une fois éditée, cliquez sur Execute. Vous pouvez ensuite consulter les résultats de la requêtes dans la fenêtre correspondante.

Pour faciliter l’édition des requêtes, cliquez sur Float situé dans le menu de la fenêtre SPARQL (cf. image ci-dessus). Cette fonction détache l’onglet : vous pouvez ensuite le placer à côté de l’onglet Entities.

Retour au sommaire

Importation d’un vocabulaire en ligne

Pour importer un vocabulaire, sélectionnez l’onglet Active Ontology puis l’onglet Ontology imports, et enfin cliquez sur le + situé à côté de Direct Imports.


Une fenêtre apparaît et on vous demande de choisir le type d’importation que vous êtes en train de réaliser. Pour importer un vocabulaire qui se trouve sur le web, choisissez la seconde option « Import an ontology contained in a document located on the web ».


Ensuite, dans la fenêtre qui apparaît (cf. image ci-dessous),  introduisez l’URI du vocabulaire à importer. Vous trouvez les URI des vocabulaires utilisés dans le cours dans la Liste des préfixes. Cliquez ensuite sur Continue et ensuite sur Finish.


Retour au sommaire

Importation d’un vocabulaire stocké sur notre ordinateur

Pour importer un vocabulaire qui se trouve sur votre ordinateur, faites comme avec l’importation d’un vocabulaire en ligne mais choisissez plutôt la première option « Import an ontology contained in a specific file ». Ensuite, vous sélectionnez le fichier contenant le vocabulaire à importer.

Retour au sommaire

Installation du moteur d’inférence Pellet

Étape 1 : Sélectionner Configure dans le menu Reasoner.

Étape 2 : Dans la fenêtre Preferences, sélectionner le volet Plugins. Dans la section Plugin registery, remplacez l’URL présente par celle-ci : https://raw.githubusercontent.com/Complexible/pellet/master/protege/plugin/plugins.repository
Ensuite, cliquez sur Check for downloads now. Quand le petit cercle orange en haut à droite disparait, si la fenêtre Downloads n’est pas encore apparu, cliquez de nouveau sur Check for downloads now.

Étape 3 : Dans la fenêtre Downloads, sélectionner Pellet et l’installer.

Retour au sommaire

Activation, lancement et synchronisation de Pellet

Pour utiliser le moteur d’inférence Pellet, assurez-vous qu’il est activé dans le menu Reasoner. Pour le lancer, utilisez Start reasoner. Pour mettre à jour l’opération d’inférence, après avoir fait des modifications dans Protégé (ex: ajouts, effacements), vous devez utiliser Synchronize reasoner.

Retour au sommaire

Visualisation des informations inférées

Dans Protégé, les informations inférées sont mises en évidence avec la couleur jaune. En cliquant sur le signe ? vous avez accès à l’explication de l’inférence.

Retour au sommaire

Configuration de l’espace de travail pour visualiser les inférences

La configuration de l’espace de travail peut faciliter l’utilisation du moteur d’inférence Pellet. Ainsi, pour faciliter la navigation entre les classes et les instances, il est préférable d’ajouter à la configuration par défaut de l’onglet Entities la fenêtre Members list (liste des individus par classe).

Pour faire cela, dans le menu de Protégé, sélectionnez Window/Views/Individual_views/Members_list. Vous devez ensuite positionnez le signe à coté de Class hierarchy.

 

Ainsi, vous pouvez consulter, à partir d’un même onglet, les descriptions et les inférences reliées aux classes et celles reliées aux individus (instances) en cliquant alternativement sur une classe ou sur l’individu d’une classe, tel qu’indiqué sur la figure suivante.

Retour au sommaire

Visualisation de triplets d’une base RDF : sans import d’un vocabulaire

Pour visualiser la description des ressources d’une base RDF dans Protégé sans vocabulaires importés, utilisez la fenêtre Individual Annotations.

Retour au sommaire

Visualisation et édition des triplets d’une base RDF et du vocabulaire RDFS/OWL : après import d’un vocabulaire

Exemple 1 :

tq:Maitrise est inscrit en tant que classe dans la fenêtre Class hierarchy et les triplets qui la décrivent sont déclarés dans les fenêtres Description et Annotations. Ainsi, vous pouvez supprimer ou ajouter des triplets dont le sujet est la classe tq:Maitrise à partir de ces fenêtres de Protégé.

Exemple 2 :

tq:contientCours est inscrit comme propriété dans la fenêtre Property hierarchy et les triplets qui la décrivent sont déclarés dans les fenêtres Description, Characteristics et Annotations. Ainsi, vous pouvez supprimer ou ajouter des triplets dont le sujet est la propriété tq:contientCours à partir de ces fenêtres.

Notons qu’avec le langage OWL, on distingue les propriétés d’objet et les propriétés de type de données (voir ouvrage de référence du cours, p. 183). Cela explique l’existence des deux fenêtres Object property hierarchy et Data property hierarchy.

Exemple 3 :

La ressource org:Maîtrise_3510 est inscrite comme une instance (ou individu) et les triplets qui la décrivent sont déclarés dans les fenêtres Description, Property assertions et Annotations. Ainsi, vous pouvez supprimer ou ajouter des triplets dont le sujet est l’instance org:Maitrise_3510 à partir de ces fenêtres.

Retour au sommaire

Déclaration de classes, de propriétés et d’instances

Pour cette section, nous vous référons à des sections d’un excellent tutoriel pour Protégé :
Horridge, M. (2011). A Practical Guide To Building OWL Ontologies, Using Protege 4 and CO-ODE Tools (v. 1.3). The University of Manchester.

Déclaration de classes : p. 15-19 et p. 39 du tutoriel.

Déclaration de propriétés, de leur domaine et codomaine (range) et de leurs caractéristiques : p. 23-36 du tutoriel.

Déclaration d’instances : p. 89-91 du tutoriel.

Retour au sommaire

Déclaration de classes par union, intersection et énumération

Pour déclarer une classe anonyme par intersection ou par union de classes, utilisez le Class expression editor accessible en cliquant sur le signe « + » dans la fenêtre Description.

Exemple 1 : L’union entre les classes C2 et C3.

Exemple 2 : L’intersection entre les classes C2 et C3.

Exemple 3 : L’intersection entre la classe C1 et l’union des classes C2 et C3.

La classe anonyme définie par union ou intersection de classes peut être déclarée dans les champs suivants : Equivalent To, SubClass Of, Disjoint With (dans la fenêtre de description des classes), Domain, Ranges (dans la fenêtre de description des propriétés) et Types (dans la fenêtre de description des instances).

Pour plus de détails sur les classes définies par intersection ou par union, consultez les pages 102 et 103 du tutoriel de Matthew Horridge.

Pour des détails sur les classes définies par énumération, consultez les pages 93 à 95 du même tutoriel .

Retour au sommaire

Déclaration de restrictions

Pour déclarer une restriction simple, utilisez soit le Object Restriction Creator (pour les propriétés d’objet) ou le Data Restriction Creator (pour les propriétés de type de données).

Pour déclarer des restrictions et autres expressions imbriquées, utilisez le Class expression editor accessible en cliquant sur le signe « + » dans la fenêtre Description et en utilisant les termes réservés aux restrictions (voir figure ci-dessous).

Liste de termes réservés

Exemple 1 :

La restriction allValuesFrom appliquée à la propriété P1 et dont les valeurs proviennent d’une classe anonyme définie par la restriction someValuesFrom (classe C1) appliquée à la propriété P2.

Exemple 2 :

L’intersection entre la classe C1 et la classe anonyme définie par l’union entre la classe C2 et la restriction someValuesFrom (classe C3) appliquée à la propriété P1.

Exemple 3 :

L’union entre la classe C1 et la restriction hasValue (instance I1) appliquée à la propriété P1.

Exemple 4 :

L’intersection entre la classe C2 et la restriction minCardinality (2)appliquée à la propriété P1.

Les restrictions peuvent être déclarées dans les champs suivants: Equivalent To, SubClass Of, Disjoint With (dans la fenêtre de description des classes), Domain, Ranges (dans la fenêtre de description des propriétés) et Types (dans la fenêtre de description des instances).

Pour plus de détails sur les restrictions, consultez les pages 36 à 48, 59 à 62, 73 à 75, 91 et 92 du tutoriel de Matthew Horridge.

Retour au sommaire

License

Le contenu du site du cours INF 6070 de la TÉLUQ est diffusé sous licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0.

Les autorisations au-delà du champ de cette licence peuvent être obtenues auprès de Gilbert Paquette.