Enoncé du projet

Transcription

Enoncé du projet
Université de Cergy-Pontoise
M2 IISC SIC
2015-2016
Data Warehouse
- projet Le but de ce projet est de réaliser et étudier un entrepôt de données en intégrant des données venues
de sources différentes. Les données concernent l'industrie cinématographique américaine.
Le projet est divisé en deux parties. La première partie vise à construire un entrepôt de données
pour ces études et à effectuer des analyses en SQL 99 pour éclairer différents phénomènes. La
seconde étape vise la construction d’un médiateur simple, capable de combiner l’interrogation de
l’entrepôt local avec celle d’une source LOD distante.
Partie 1
Il faut d'abord construire un entrepôt de données pour collecter les informations nécessaires pour les
études demandées ci-dessous. Nous intégrons dans cet entrepôt seulement les films des 6 plus
grandes compagnies de distribution (distributor) : Sony Pictures, Warner Bros., Walt Disney,
Universal, 20th Century Fox et Paramount Pictures entre 1995 à 2014. Nous nous intéressons
seulement à six genres de film : « Adventure », « Comedy », « Drama », « Action »,
« Thriller/Suspense » et « Romantic Comedy ». Trois mesures sont considérées : les frais de
production (Production Budget), le chiffre d'affaires aux États-Unis (Domestic Gross) et le chiffre
d'affaires mondial (Worldwide Gross) pour analyser les phénomènes demandés dans ce projet.
Les données pour construire la table de faits de cet entrepôt sont stockées dans le fichier
movieBudgets.csv. Avant d'utiliser les données dans ce fichier, il faut éliminer tous les films dont le
« Domestic Gross » et le « Worldwide Gross » sont nuls, car non exploitables pour ce projet. De
plus, il faut éliminer des films dont le « Production Budget » est nul pour la même raison.
Les tables de dimension sont construites à partir de différentes pages HTML du site www.thenumbers.com. Dans le fichier pagesProjet.txt vous pouvez trouver tous ces liens.
Après la construction de l'entrepôt de données ci-dessus, nous voulons analyser des phénomènes
suivants en utilisant des requêtes SQL99 :
1. Pour chaque compagnie, chaque genre de film et chaque année entre 1995 et 2014, nous
cherchons les trois films ayant les plus hauts chiffres d’affaires mondiales (Worldwide
Gross).
2. Pour chaque genre de film et chaque année entre 1995 et 2014, nous cherchons les films
parmi les dix premiers en chiffre d'affaires mondial (Worldwide Gross) mais pas parmi les
dix premiers films en chiffre d'affaires aux États-Unis (Domestic Gross).
3. Effectuer la même analyse qu’au point (1) pour le taux d'investissement, défini comme :
(Worldwide Gross - Production Budget) / Production Budget
4. Pour chaque année, calculez la moyenne des bénéfices pour chaque genre de film. Le
bénéfice de chaque film est défini comme la différence entre son chiffre d'affaires mondial
(Worldwide Gross) et ses frais de production (Production Budget).
5. A partir de ces moyennes calculez leur moyenne mobile centrale pour chaque année entre
1995 et 2014.
6. Montrer le résultat du point (5) dans UN diagramme. Il est conseillé d'utiliser CASE pour
former les données pour ce diagramme.
Etape 2
L’entrepôt de la partie 1 sera utilisé pour créer un médiateur simple. Ce médiateur utilise deux
sources : l’entrepôt et la source LOD « Linked Movie Database » (http://data.linkedmdb.org/), qui
contient des informations sur le cinéma : films, acteurs, réalisateurs, etc.
Le médiateur utilise un modèle avec une seule relation Film, qui contient toutes les caractéristiques
de l’entrepôt (titre, date, genre, distributeur, budget, chiffre d’affaires US, chiffre d’affaires
mondial, etc.) et trois attributs supplémentaires venant de la Linked Movie Database : réalisateur,
acteur, personnage. Le lien entre les informations sur un film dans l’entrepôt et dans la source LOD
se fait à travers le titre du film.
Une requête sur le médiateur est composée d’une liste LR d’attributs de Film à retourner et d’une
liste LC de conditions sur des attributs. Une condition sur un attribut peut être vue comme un triplet
(a, op, val), où a est l’attribut, op un opérateur de comparaison (=,<,>,<=,>=, !=) et val la valeur de
comparaison de la condition. Par exemple (acteur, =, "Brad Pitt") indique la condition acteur =
"Brad Pitt". Les différentes conditions d’une requête sont reliées par conjonction (ET logique).
Une requête portera toujours sur l’entrepôt et éventuellement aussi sur la source LOD si l’un des
attributs à retourner ou avec condition fait partie des trois attributs spécifiques : réalisateur, acteur,
personnage. Deux plans d’exécution d’une requête seront explorés :
1. On exécute la partie « entrepôt » de la requête et pour chaque titre de film résultant on
interroge en SPARQL la source LOD pour valider les conditions et/ou compléter le résultat
avec des attributs LOD.
2. On exécute séparément la partie « entrepôt » de la requête et une requête SPARQL qui
correspond aux conditions LOD de la requête et aux caractéristiques générales de l’entrepôt
(films américains, intervalle de temps). On joint ensuite les deux résultats sur le titre du film.
Le médiateur sera programmé en Java à l’aide de l’API JDBC de la base de données utilisée pour
l’entrepôt et de l’API Jena (http://jena.apache.org) pour interroger le point d’accès SPARQL de la
source LOD « Linked Movie Database » (http://data.linkedmdb.org/sparql/). Plus précisément, on
utilisera dans Jena l’API application, contenue dans le package com.hp.hpl.jena.query (voir
http://jena.apache.org/documentation/query/app_api.html).
A faire :
• Exprimer le mapping entre le médiateur et les deux sources (entrepôt et LOD). Pour chaque
source le mapping concernera seulement les attributs de Film présents dans la source.
• Réaliser une interface graphique d’interrogation qui permet d’indiquer les attributs à
retourner et les conditions.
• Ecrire l’algorithme de traduction de la requête vers les deux sources, quelle que soit la
requête sur le médiateur.
• Implémenter les deux plans d’exécution et comparer les temps d’exécution sur quelques
types de requêtes.