Module 3
Les vocabulaires avec RDFS
Activité 3.4 RDFS et inférences
| 8 | Utiliser le logiciel Protégé pour la représentation et le traitement des connaissances. |
| 9 | Construire des requêtes SPARQL sur une base de connaissances. |
| 10 | Analyser des raisonnements sur une base de connaissances. |
L’utilisation de vocabulaires RDFS pour décrire des ressources permet de déduire de nouvelles informations (dites « inférées ») à partir des triplets constituant une base RDF (informations déclarées). Lors de cette activité, avec le logiciel Protégé (compétence 8), vous allez formuler et exécuter des requêtes SPARQL pour prendre conscience des inférences qu’il est possible de faire sur une base RDF (compétence 9) en fonction de la structure des vocabulaires utilisés dans la base RDF (compétence 10).
Cette activité pratique constitue la partie B du Travail noté 5. Cette partie B est évaluée sur 8 points alors que la partie A est évaluée sur 10 points.
Une relecture de la section « Inference in the semantic web » (p. 115-117) du chapitre 6 et des pages 127 à 131 du chapitre 7 de l’ouvrage de référence pourront vous aider à réaliser le travail.
- Consultez la partie B du gabarit Vocabulaire RDFS et inférences que vous avez aussi utilisé lors de la précédente activité.
- Contactez le chargé d’encadrement pour qu’il vous envoie par courriel la base RDF B6 et le vocabulaire V3 que vous allez utiliser lors de cette activité.
- Ouvrez la base B6 dans le logiciel Protégé et importez le vocabulaire V3 (en Turtle). Sauvegardez la base après l’importation du vocabulaire et nommez-la B7.
- Si vous avez besoin d’aide pour l’importation du vocabulaire, consultez le guide Introduction à Protégé. Assurez-vous aussi d’avoir installé Pellet et configuré l’espace de travail Protégé tel que spécifié dans le guide.
Attention ! Ne déplacez pas, ne renommez pas, ne modifiez pas le fichier contenant le vocabulaire V3. À défaut, vous devrez de nouveau importer le vocabulaire dans la base RDF.
- Formulez les requêtes suivantes en SPARQL et exécutez-les. Consignez les requêtes et les résultats de chaque requête dans le gabarit Vocabulaire RDFS et inférences.
Requête 1
La TÉLUQ est-elle une université qui offre une reconnaissance d’acquis?Requête 2
Quels sont les départements de la TÉLUQ et quels en sont les membres? Si applicable, affichez les intérêts de recherche de ces membres. Ordonnez les réponses en fonction du nom des membres, et cela, par ordre alphabétique.Requête 3
Quels sont les cours offerts dans des programmes du département UER ST? Affichez le type du programme et, si applicable, affichez le responsable, le tuteur ou chargé d’encadrement ainsi que le sujet du cours dans les réponses. Ordonnez les réponses en fonction des programmes.Requête 4
Quels sont les cours sous la responsabilité de Gilbert Paquette ayant des sujets correspondant à ses intérêts de recherche? Affichez ces cours et ces sujets. Si applicable, affichez aussi le cycle (cycle 1 ou 2) du cours.Requête 5
Quels sont les professeurs membres du département UER ST ayant participé aux projets de recherche dirigés par Gilbert Paquette? Si applicable, affichez le ou les objets de recherche de chaque projet ainsi que l’institution participante au projet. Ordonnez les réponses par ordre alphabétique. - Exécutez la requête SPARQL suivante dans Protégé pour interroger la base RDF B7. Consignez les résultats dans la partie B du gabarit Vocabulaires RDFS en inférences.
Requête 6
Gilbert Paquette est un professeur. Est-il aussi un employé ?ASK WHERE {org:Gilbert_Paquette rdf:type tq:Employe.}- La requête 6 dans Protégé renvoie un résultat négatif : Gilbert Paquette n’est pas un employé. Or, d’une part, dans la base B7, Gilbert Paquette est déclaré comme étant un professeur. D’autre part, si vous regardez en détails le vocabulaire V3, vous constaterez qu’un professeur est aussi un enseignant et un employé. Gilbert Paquette est donc un employé si on s’en tient à la structure du vocabulaire V3.
- Avec la base B7 et en considérant la structure du vocabulaire V3, voici une règle d’inférence avec SPARQL permettant d’inférer des triplets pour obtenir une réponse correcte à la requête 6.
CONSTRUCT { org:Gilbert_Paquette rdf:type ?surclasse }
WHERE { tq:Professeur rdfs:subClassOf ?sousclasse.
?sousclasse rdfs:subClassOf ?surclasse. } - Exécutez cette règle d’inférence dans Protégé et consignez les résultats dans la partie B gabarit Vocabulaires RDFS en inférences.
- Dans cette règle, remplacez
rdfs:subClassOfparrdfs:subClassOf*. - Exécutez la règle ainsi modifiée et expliquez les différences entre les résultats des deux règles. Consignez aussi les résultats de la requête et vos explications dans le gabarit.
Note : Malheureusement, comme nous l’avons déjà vu lors du module 2 du cours, le logiciel Protégé n’ajoute pas automatiquement dans la base RDF les triplets inférés par une règle, contrairement à d’autres logiciels qui respectent SPARQL 1.1.
- Exécutez la requête SPARQL suivante dans Protégé pour interroger la base RDF B7.
Requête 7
Que fait exactement Jacques Rivard, en plus d’être aussi un employé?SELECT ?Type
WHERE {org:Jacques_Rivard rdf:type ?Type}- La requête 7 ne donne pas de bons résultats, car les triplets qui seraient inférés par une règle d’inférence adéquate ne sont pas dans la base.
- En vous basant sur la sémantique du langage RDFS et en examinant la structure de B7 (incluant le vocabulaire V3), construisez une règle d’inférence qui permettrait d’inférer les triplets manquants.
Indice : utilisez CONSTRUCT,
rdfs:domainetrdfs:rangequelque part dans l’énoncé de la règle d’inférence. - Insérez la règle et les réponses fournies par l’exécution de la règle dans le gabarit.
- Exécutez la requête SPARQL suivante dans Protégé pour interroger la base RDF B7.
Requête 8
Quels sont les tuteurs et les chargés d’encadrement?SELECT ?Tuteur ?ChargeEncadrement
WHERE {?Tuteur a tq:Tuteur. ?ChargeEncadrement a tq:ChargeEncadrement.}- Encore une fois, la requête 8 ne donne pas de bons résultats, car les triplets qui seraient inférés par une règle d’inférence adéquate ne sont pas dans la base.
- En vous basant sur la sémantique du langage RDFS et en examinant la structure de la base B7 (incluant le vocabulaire V3), construisez une règle d’inférence qui permettrait d’inférer les triplets manquants.
Indice: utilisez CONSTRUCT, UNION,
rdfs:domainetrdfs:rangequelque part dans l’énoncé de la règle d’inférence. - Insérez la règle et les réponses fournies par l’exécution de la règle dans le gabarit.
- Lancez le moteur d’inférence Pellet dans Protégé (menu Reasoner, option Pellet). Observez les triplets inférés obtenus pour la base B7. Pouvez-vous les expliquer? Énumérez les triplets inférés dans la liste des
Professeurs, desChargesEncadrementet dans la liste desEtudesCycle1et desEtudesCycle2. Pouvez-vous deviner quelles règles d’inférence utilise le moteur d’inférence Pellet pour faire ces ajouts? Insérez vos observations et explications dans le gabarit. - Déposez votre travail dans l’outil de dépôt des travaux de la TÉLUQ. Selon la feuille de route, vous devriez communiquer ce fichier à votre chargé d’encadrement à la semaine 8 du cours.
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.