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.
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/*
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
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.
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.
regex(str(?n), “expression régulière”)