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