Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:master:mlbda:tmes:rdf_et_sparql_2020

TME RDF et SPARQL (2020)

Ce TME utilise le serveur Fuseki de Jena Fuseki pour évaluer les requêtes SPARQL. Ces dernières devront être lancées depuis un notebook jupyter fourni qu'il faudra compléter.

Pré-requis

Vous devez disposer de Python 3 et de jupyter notebook.

Pour installer jupyter notebook suivre les instructions https://jupyter.org/install

Une fois l'installation réalisée, il faudra installer le Sparql kernel https://github.com/paulovn/sparql-kernel

en exécutant

pip install sparqlkernel
jupyter sparqlkernel install

Ouvrir une fenêtre de terminal et se rendre sur votre espace de travail

cd <repetoire-de-travail>

Télécharger et décompresser l'archive contenant les notebooks et les données

wget http://www-bd.lip6.fr/wiki/_media/site/enseignement/master/mlbda/tmes/tme-sparql.tgz
tar xzvf tme-sparql.tgz
cd TME-SPARQL

Télécharger et décompresser l'archive contenant le serveur Fuseki en exécutant

wget https://mirrors.ircam.fr/pub/apache/jena/binaries/apache-jena-fuseki-3.17.0.tar.gz
tar xzf apache-jena-fuseki-3.17.0.tar.gz
rm apache-jena-fuseki-3.17.0.tar.gz

Rajouter les droits d'exécutions aux fichier utilisés pour lancer le serveur Fuseki

chmod +x apache-jena-fuseki-3.17.0/fuseki-server
chmod +x apache-jena-fuseki-3.17.0/bin/*

Lancement du serveur Fuseki

Ce TME nécessite deux fenêtres de terminal : une pour lancer le serveur et une autre pour lancer le notebook

Ouvrir une deuxième fenêtre de terminal pour lancer le serveur et se positionner dans votre répertoire de travail (le même que précédemment)

cd <repertoire-de-travail>

La commande suivante lance le serveur et crée un espace de données ds

./apache-jena-fuseki-3.17.0/fuseki-server --update --mem /ds

Sous Windows

cd apache-jena-fuseki-3.17.0
fuseki-server.bat --update --mem /ds

des messages s'affichent. N'utiliser plus ce terminal et revenir au terminal précédent

Chargement des données

Assurez-vous d'être sur le premier terminal (utilisé dans la partie pré-requis).

Vérifier que le repertoire data contient bien les fichiers utiles au TME en exécutant

ls data

qui doit retourner

ex1.ttl	ex2.ttl	ex3.ttl	ex4.ttl

Pour les utilisateurs Windows le notebook TME-SPARQL-Etu-Windows.ipynb contient les instructions d'insertions. Vous pouvez passer cette étape.

Pour les utilisateurs Unix (Mac OS et Linux) Charger les données dans le serveur en exécutant

apache-jena-fuseki-3.17.0/bin/s-put http://localhost:3030/ds/data http://mlbda/ex1 data/ex1.ttl
apache-jena-fuseki-3.17.0/bin/s-put http://localhost:3030/ds/data http://mlbda/ex2 data/ex2.ttl
apache-jena-fuseki-3.17.0/bin/s-put http://localhost:3030/ds/data http://mlbda/ex3 data/ex3.ttl
apache-jena-fuseki-3.17.0/bin/s-put http://localhost:3030/ds/data http://mlbda/ex4 data/ex4.ttl

Chaque fichier sera désigné par un graphe nommé appelé http://mlbda/exi où i varie de 1 à 4.

Réalisation du TME

Ce TME vise à réaliser les exercices 3 et 4 du TD et utilise des données synthétiques. Les questions sont dans le notebook fourni. Pour le lancer exécuter

jupyter notebook

puis cliquer sur TME-SPARQL-Etu.ipynb ou TME-SPARQL-Etu-Windows.ipynb si vous travaillez sur Windows.

Il vous est demandé de renseigner les clauses select et where des requêtes SPARQL préalablement rédigées dans les cellules correspondant aux questions.

Quelques exemples de requêtes sont déjà fournies pour vous aidez à démarrer.

Les résultats attendus sont fournis pour vous guider.

Une fois terminé ouvrir le second notebook TME-SPARQL-Mondial-ETU.ipynb contenant les requêtes de la base Mondial.

Documentation diverse

  • Pour comparer des chaînes de caractères, utiliser la fonction regex(str(?n), “expression régulière”)
site/enseignement/master/mlbda/tmes/rdf_et_sparql_2020.txt · Dernière modification: 04/11/2021 14:31 par amine