Transcript TP 2 - LIP6
Master Informatique DAC – UE ASWS – Web S´emantique
TP2 – Manipulation RDF avec Jena
Exercice 1:
Pr´eparation
— mise-`a-jour de l’environnement Linux :
source /Infos/bd/dm/asws/public/config
— d´ecompressez le fichier $ASWS HOME/public/data.tar.gz
cd $HOME/asws
tar xzf $ASWS_HOME/public/data.tar.gz
Exercice 2:
Formats RDF :
La commande rdfcat permet de transformer des fichiers RDF en diff´erents format :
rdfcat -help
—
—
—
—
N3 : format N3/Turtle (extension .ttl)
N-TRIPLE : format triplets (extension .nt)
RDF/XML : format XML ´etendu (extension .rdf)
RDF/XML-ABBREV : format XML ´etendu (extension .xml)
1. transformez les deux documents data/roisgraphe.xml et data/roisarbre.xml
dans diff´erents formats et comparez les documents g´en´er´es dans un r´epertoire
gendata :
mkdir $HOME/asws/gendata
cd $HOME/asws
rdfcat -out=N3 data/roisgraphe.xml > gendata/roisgraphe.ttl
less gendata/roisgraphe.ttl
rdfcat -out=N3 data/roisarbre.xml > gendata/roisarbre.ttl
less gendata/roisarbre.ttl
2. est-ce que les deux documents repr´esentent le mˆeme graphe RDF ?
3. transformez les trois documents data/rois.rdf, data/rois2.rdf et data/rois3.rdf
en format N3/Turtle et en N-TRIPLE et comparez les r´esultats.
4. combien de noeuds blancs il y a dans chacun des trois graphes ?
Exercice 3:
Jena fournit un syst`eme de stockage pour des donn´ees RDF appel´e Jena TDB 1 . Les
commandes disponibles sont :
— cr´eer (si n´ecessaire) un base de donn´ees et charger un fichier (de pr´ef´erence en
format Turtle) :
tdbloader --loc=<db> <fichier>
— afficher le contenu d’une base de donn´ees :
tdbdump --loc=<db>
— afficher des statistiques :
tdbstats --loc=<db>
1. http://jena.apache.org/documentation/tdb/
TP2 – Manipulation RDF avec Jena
— effacer la base de donn´ees :
rm -rf <db>
1. cr´eez une base RDF db/rois.tdb et chargez les graphes data/rois.rdf et data/rois.rdfs :
mkdir $HOME/asws/db
mkdir $HOME/asws/gendata
cd $HOME/asws
rdfcat -out=Turtle data/rois.rdf > gendata/rois.ttl
rdfcat -out=Turtle data/rois.rdfs > gendata/rois_schema.ttl
tdbloader --loc=db/rois.tdb gendata/rois.ttl
tdbloader --loc=db/rois.tdb gendata/rois_schema.ttl
2. afficher le contenu et les statistiques
3. rechargez les deux fichiers data/rois.rdf et data/rois.rdfs une deuxi`eme fois
et affichez les statistiques. Qu’est-ce que vous observez ?
4. cr´eez une base RDF db/rois2.tdb et chargez le graphes data/rois2.rdf
5. affichez le contenu et les statistiques de db/rois2.tdb
6. rechargez le fichier data/rois2.rdf une deuxi`eme fois et affichez les statistiques.
Qu’est-ce que vous observez ?
Exercice 4:
La commande infer permet de mat´erialiser la transitivit´e des propri´et´es subClassOf
et subPropertyOf dans un sch´ema RDFS :
infer --rdfs=<sch´
ema> <graphe>
1. g´en´erer un fichier gendata/rois infer.nt (triplet) qui mat´erialise les propri´et´es
subClassOf et subPropertyOf d´efinies dans le sch´ema data/rois.rdfs dans le
graphe data/rois.rdf
infer --rdfs=data/rois.rdfs data/rois.rdf > gendata/rois_infer.nt
2. transformez le nouveau graphe g´en´er´e en format Turtle et comparez le avec le
graphe initial. Qu’est-ce que vous observez ?
3. chargez le nouveau graphe dans la base db/rois.tdb et analysez les statistiques
B. Amann - 2014/2015 M2 DAC – UE ASWS – Web S´emantique
2