Table des matières
TME RDF et SPARQL
Ce TME utilise jupyter notebook avec le noyau https://github.com/paulovn/sparql-kernel pour accéder aux données Mondial via un service web (Sparql Endpoint) configuré dans le notebook fourni pour ce TME. Le noyau sparqlkernel est déjà installé sur les machines de TME. Si vous utilisez une machine personnelle, lire la rubrique ci-dessous sinon vous rendre directement à la rubrique Réalisation du TME
Aide
Ouvrir le fichier mondial.n3 avec un éditeur (Atom, Sublime) afin de comprendre la représentation des données Mondial sous format Turtle.
Pré-requis pour utilisation sur machine personnelle
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 --user
alternativement vous pouvez installer le Sparql kernel en exécutant
python3 -m sparqlkernel install --user
Réalisation du TME
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 le notebook
tar xzvf TME-SPARQL.tgz cd TME-SPARQL
Les données sont accessibles via un Endpoint Sparql. Donc, il n'est pas nécessaire de les charger sur votre machine
Lancement du notebook
Les questions sont dans le notebook fourni. Pour le lancer exécuter
jupyter notebook
puis cliquer sur TME-SPARQL-Mondial-ETU.ipynb
contenant les requêtes de la base Mondial.
Sélectionner le noyau SPARQL en vous rendant sur le menu Noyau, rubrique changer de noyau
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.
Les résultats attendus sont fournis pour vous guider.
La rubrique Exploration du graphe du notebook contient des exemples de requêtes fournies pour vous aidez à comprendre la structure des données que vous interrogez. Grosso modo, les entités du schéma relationnel Mondial sont représentées par des sujets RDF, les attributs de ces entités sont représentées par des propriétés RDF. Prendre le temps nécessaire pour examiner les triplets au moyen de requêtes afin de se faire une idée claire des données Mondial sous format RDF.
Documentation diverse
- Pour comparer des chaînes de caractères, utiliser la fonction
regex(str(?n), “expression régulière”)
- Pour obtenir les affluents directs et indirects, utiliser :flowsInto+
- Voir les exemples de requêtes posées sur les données Wikidata.