Table des matières

Projet MIF18

Ce projet est un projet alternatif au projet multimif, à destination des étudiants qui ne font pas MIF17; MIF16 et MIF13.

On considère le schéma relationnel du TP ORM.

L'objectif du projet est de créer une application permettant l'import/export de ces données au format XML et RDF/Turtle.

On supposera que les volume des données nécessite un traitement de celles-ci en flux, c'est à dire qu'on ne veut pas avoir toute la base de données chargée en mémoire.

Import/Export XML

Les fichiers XML lu à l'import et générés par l'export doivent être valide vis-à-vis du schéma suivant: films.xsd.

On utilisera l'API SAX pour lire ces fichiers. Voir les packages org.xml.sax et org.xml.sax.helpers. Ajout de faits en base de donnée se fera au choix via JDBC ou via l'ORM.

Pour l'écriture des fichiers, on passera par la génération de XML via les fonctions SQL. Pour récupérer les données côté Java, on pourra s'inspirer du TP XML-JDBC de 2011.

Import/Export RDF

L'import/export au format RDF s'appuiera sur la bibliothèque ARQ, en particulier sur l'API RIOT.

Projet de départ

Un projet de départ est fourni dans l'archive prj-mif18-2012.zip. Il s'agit d'un projet maven incluant les dépendances vers le driver PostgreSQL et la bibliothèque ARQ. Il contient un test JUnit ARQTest avec du code exemple pour les entrées/sorties RDF utilisant ARQ/RIOT.

Le projet fourni est préconfiguré pour générer une archive target/prj-mif18-1.0-SNAPSHOT-jar-with-dependencies.jar exécutable directement avec:

java -jar chemin/vers/prj-mif18-1.0-SNAPSHOT-jar-with-dependencies.jar arg1 ... argn

C'est la classe App fournie dans ce projet qui sert de point d'entrée.

Modalités de rendu

Le projet est à réaliser par groupes de un à deux étudiants (pas trois). Il est demandé d'envoyer un fichier .zip1) à emmanuel.coquery@liris.cnrs.fr contenant:

La date de rendu est fixée au 10 décembre 2012 à 23h59. Une soutenance aura éventuellement lieu le 10/12/2012, à confirmer.

Application Java à réaliser

Il s'agit d'une application en ligne de commande ayant le comportement suivant:

1)
pas de rar ou autre format d'archive