ISI
IN S T I TUT Année Universitaire 2023-2024
SUPERIEUR Mastère de Recherche en Informatique - M1
INFORMATIQUE
Ingénierie des bases de données – Activité 6.1
الـمعهـد العـالـي لإلعـالمــيـةR. ZAAFRANI, 11/12/2023
Nous considérons la base de données de films « Movie Graph » intégrée au navigateur Neo4j :
:play movie graph
Le Movie Graph est une mini-application graphique contenant des acteurs et des réalisateurs qui sont liés à
travers les films sur lesquels ils ont collaboré.
Un script contenant une seule instruction de requête Cypher composée de plusieurs clauses CREATE, créera le
graphique du film :
- Cliquez sur le bloc de code
- Notez qu'il est copié dans l'éditeur
- Cliquez sur le bouton de lecture de l'éditeur pour exécuter
- Attendez que la requête se termine
- ATTENTION : Ceci ajoute des données à la base de données courante, à chaque exécution
Ci-dessous un aperçu du script de création de cette base :
CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967})
CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961})
CREATE (Hugo:Person {name:'Hugo Weaving', born:1960})
CREATE (LillyW:Person {name:'Lilly Wachowski', born:1967})
CREATE (LanaW:Person {name:'Lana Wachowski', born:1965})
CREATE (JoelS:Person {name:'Joel Silver', born:1952})
CREATE
(Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix),
(Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrix),
(Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrix),
(Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix),
(LillyW)-[:DIRECTED]->(TheMatrix),
(LanaW)-[:DIRECTED]->(TheMatrix),
(JoelS)-[:PRODUCED]->(TheMatrix)
……………..
CREATE (ALeagueofTheirOwn:Movie {title:'A League of Their Own', released:1992, tagline:'Once in a lifeti
me you get a chance to do something different.'})
CREATE (Madonna:Person {name:'Madonna', born:1954})
CREATE (GeenaD:Person {name:'Geena Davis', born:1956})
CREATE (LoriP:Person {name:'Lori Petty', born:1963})
CREATE (PennyM:Person {name:'Penny Marshall', born:1943})
CREATE
(TomH)-[:ACTED_IN {roles:['Jimmy Dugan']}]->(ALeagueofTheirOwn),
(GeenaD)-[:ACTED_IN {roles:['Dottie Hinson']}]->(ALeagueofTheirOwn),
(LoriP)-[:ACTED_IN {roles:['Kit Keller']}]->(ALeagueofTheirOwn),
(RosieO)-[:ACTED_IN {roles:['Doris Murphy']}]->(ALeagueofTheirOwn),
(Madonna)-[:ACTED_IN {roles:['"All the Way" Mae Mordabito']}]->(ALeagueofTheirOwn),
(BillPax)-[:ACTED_IN {roles:['Bob Hinson']}]->(ALeagueofTheirOwn),
(PennyM)-[:DIRECTED]->(ALeagueofTheirOwn)
CREATE (PaulBlythe:Person {name:'Paul Blythe'})
CREATE (AngelaScope:Person {name:'Angela Scope'})
CREATE (JessicaThompson:Person {name:'Jessica Thompson'})
CREATE (JamesThompson:Person {name:'James Thompson'})
Ingénierie des bases de données – Activité 6.1 1
CREATE
(JamesThompson)-[:FOLLOWS]->(JessicaThompson),
(AngelaScope)-[:FOLLOWS]->(JessicaThompson),
(PaulBlythe)-[:FOLLOWS]->(AngelaScope)
CREATE
(JessicaThompson)-[:REVIEWED {summary:'An amazing journey', rating:95}]->(CloudAtlas),
(JessicaThompson)-[:REVIEWED {summary:'Silly, but fun', rating:65}]->(TheReplacements),
(JamesThompson)-[:REVIEWED {summary:'The coolest football movie ever', rating:100}]-
>(TheReplacements),
(AngelaScope)-[:REVIEWED {summary:'Pretty funny at times', rating:62}]->(TheReplacements),
(JessicaThompson)-[:REVIEWED {summary:'Dark, but compelling', rating:85}]->(Unforgiven),
(JessicaThompson)-
[:REVIEWED {summary:"Slapstick redeemed only by the Robin Williams and Gene Hackman's stellar perfor
mances", rating:45}]->(TheBirdcage),
(JessicaThompson)-[:REVIEWED {summary:'A solid romp', rating:68}]->(TheDaVinciCode),
(JamesThompson)-[:REVIEWED {summary:'Fun, but a little far fetched', rating:65}]->(TheDaVinciCode),
(JessicaThompson)-[:REVIEWED {summary:'You had me at Jerry', rating:92}]->(JerryMaguire)
WITH TomH as a
MATCH (a)-[:ACTED_IN]->(m)<-[:DIRECTED]-(d) RETURN a,m,d LIMIT 10;
1) Exprimer les requêtes suivantes à l’aide du langage Cypher :
a) Graphe des acteurs-réalisateurs
b) Liste des titres de films pour lesquels 2 acteurs ont joué ensemble
c) Graphe des acteurs qui ont joué ensemble dans 2 films différents
d) Graphe des acteurs qui ont joué ensemble dans 2 films différents, dont au moins un a
eu le rôle de "Neo"
e) Graphe des acteurs qui ont joué ensemble dans 2 films différents, dont au moins un a
été metteur en scène
f) Graphe des acteurs qui ont joué avec Tom Hanks dans 2 films différents, et au moins
une fois dans l’un d’eux avec 'Bill Paxton'
g) Graphe des acteurs qui ont joué avec Tom Hanks dans 2 films différents, et jamais en
même temps avec 'Bill Paxton'
h) Graphe des acteurs ayant joué dans l’un des films de la trilogie 'Matrix'
i) Les 5 réalisateurs ayant réalisé le plus de films, donner les noms de ces réalisateurs, la
liste des titres de leurs films et leur nombre
j) Graphe des connaissances de Tom Hanks limité à 10 acteurs
k) Créez des liens de 'connaissance' (Relation :KNOWS) entre ceux qui ont en commun
un acteur ou un réalisateur avec lequel ils ont participé dans un film.
l) Plus court chemin entre Clint Eastwood et Christian Bale
m) Recommander 3 acteurs pour Keanu Reeves (amis d'amis, sans être directement
connecté)
Ingénierie des bases de données – Activité 6.1 2