Exercices 2 – SPARQL, Jena

Transcription

Exercices 2 – SPARQL, Jena
Web et représentation de données - Web sémantique
Exercices 2 – SPARQL, Jena
1
SPARQL
Dans cet exercice, il est conseillé d’écrire chaque requête SPARQL dans un fichier distinct et de la tester avec
l’interpréteur SPARQL de Jena utilisable en ligne de commande (bin/sparql).
Télécharger les fichiers
http://www.info.univ-angers.fr/pub/genest/ws/td2/personnes.n3 et
http://www.info.univ-angers.fr/pub/genest/ws/td2/acteurs.n3.
Ajouter à la base de connaissances les informations suivantes : Walter Skinner, est interprété par Mitch Pileggi, né
en 1952. Le personnage Alex Krycek travaille avec Fox Mulder, il est dirigé par Walter Skinner, il est interprété par
Nicholas Lea. Dana Scully est née en 1964, Gillian Anderson en 1968. Écrire les requêtes SPARQL pour répondre
aux questions suivantes :
1. Quels sont les noms des personnages qui travaillent pour mv:ws ?
2. Quels sont les noms des personnages qui travaillent pour Walter Skinner ?
3. Quels sont les noms des acteurs qui jouent les rôles des personnages qui travaillent pour Walter Skinner ?
4. Afficher les noms de tous les personnages, et pour chacun des personnages, afficher le nom de leur père (s’il
est connu).
5. Afficher les noms de tous les personnages, et pour chaque personnage, l’année de naissance, le nom de l’acteur
qui l’interprète et l’année de naissance de l’acteur.
6. Quels sont les noms des personnages qui sont plus vieux que l’acteur qui les interprète ?
7. Afficher toutes les informations à propos de Dana Scully (c’est à dire les prédicats et objets de tous les
triplets qui ont pour sujet l’URI correspondant à Dana Scully , ainsi que les prédicats et sujets de tous les
triplets qui ont pour objet l’URI correspondant à Dana Scully → 3 colonnes : prédicat, objet, sujet).
2
Jena - Entrées/sorties
Écrire un programme basé sur Jena qui charge un document RDF/XML et qui affiche à l’écran le graphe RDF
chargé en Notation 3. Utiliser ce programme pour vérifier les fichiers écrits dans la feuille d’exercices 1. Remarquer
l’usage du prédicat a qui peut être utilisé en Notation 3 à la place de rdf:type.
3
Jena - Parcours (suite de la feuille 1)
Rajouter à la base de matériels une carte mère P4P800 disposant d’un port AGP et d’un port PCI, ainsi qu’une
carte graphique GF5200 disposant d’un port AGP et d’une sortie VGA. Écrire un programme basé sur Jena qui
charge un document RDF contenant la base des matériels et qui pour tous les couples (carte mère, carte graphique)
affiche si la carte graphique est compatible avec la carte mère sous la forme suivante :
P4P800
GF7800
GF5200
H77MA
GF7800
GF5200
incompatible
compatible (AGP)
compatible (PCIExpress16x)
incompatible
Master 1 Informatique – Université d’Angers – 2016-2017 – D.G.
Web sémantique – Exercices 2
4
SPARQL+Jena - Interrogation (suite de la feuille 1)
Écrire un programme basé sur Jena qui charge le RDF-Schema, une base d’exemple de matériel construite sur
ce RDF-Schema, vérifie la validité de la base, et affiche à l’écran les noms de tous les matériels en vente (quel que
soit leur type). Cet exercice devra être programmé de trois façons différentes :
1. En écrivant un programme Java utilisant Jena qui parcourt les triplets du modèle ;
2. En écrivant un programme Java utilisant Jena qui exécute la requête SPARQL (et sans faire appel à
bin/sparql, évidemment) ;
3. Ecrire une reqûete SPARQL et en l’exécuter depuis l’utilitaire en ligne de commandes de Jena (bin/sparql) 1 .
1. Vous remarquerez sans doute que l’interpréteur SPARQL lancé depuis la ligne de commande ne réalise pas les inférences qui peuvent
être faites à l’aide des connaissances représentées dans le RDF-Schéma. En effet, cet interpréteur n’instancie pas (par défaut) un OntModel
(mais un simple MemoryModel : un simple ensemble de triplets en mémoire, sans inférence). Pour changer ce comportement, télécharger
le fichier http://www.info.univ-angers.fr/pub/genest/ws/td2/assembler.n3 et le passer à l’interpréteur à l’aide de l’option --desc,
après l’avoir adapté : Ce fichier permet de choisir le modèle construit par Jena pour faire l’interrogation, quel type de modèle / quel type
d’inférence / quels fichiers pour construire le graphe.
Master 1 Informatique – Université d’Angers – 2016-2017 – D.G.
Web sémantique – Exercices 2

Documents pareils