3. Sparql - Le langage
● SPARQL Protocol and RDF Query Language
● Langage de requêtes
● Protocole permetttant de rechercher/modifier
/ajouter/supprimer des données au format RDF
● Assimilable au SQL (# accès aux données)
● Accès à des ressources web des données
4. DBPedia
● Projet Universitaire & Communautaire
● Exploration et extraction automatique de données dérivées des pages de Wikipedia
● Liste des adresses du site :
○ http://dbpedia.org/sparql SPARQL EndPoint
○ http://dbpedia.org/snorql/ SPARQL Explorer
● Liste des ontologies : (La base de données décrivait en 2011 plus de 3 millions d’entités.)
○ 12 000 personnes ;
○ 413 000 lieux ;
○ 94 000 albums de musique ;
○ 49 000 films ;
○ 15 000 jeux vidéo ;
○ 140 000 organisations (31 000 sociétés, 31 000 établissements d'enseignement) ;
○ 146 000 espèces ;
○ 4 600 maladies ;
○ 1 461 000 liens vers des images ;
○ 5,54 millions de liens vers des pages extérieures ;
○ 4,87 millions de liens vers des datasets externes ;
5. DBpedia (2)
● Relation entre DBpedia et d'autres projets Web
6. Requêtes DBPedia
Requête Nº1: Trouver les personnes qui sont nées à Berlin qui ont un nom et une date de
naissance, en triant les noms par ordre alphabétiques
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX : <http://dbpedia.org/resource/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX dbpedia: <http://dbpedia.org/>
PREFIX dbpedia3: <http://dbpedia.org/ontology/>
##Find people born in Berlin having a name and a birthdate, ordered by name.
SELECT distinct
?name ?birth ?person WHERE
{ ?person dbpedia2:birthPlace <http://dbpedia.org/resource/Berlin> .
?person dbpedia2:birth ?birth .
?person foaf:name ?name .
} ORDER BY ?name
7. Requêtes DBPedia (2)
Requête Nº2: La requête suivante permet de trouver les personnes qui sont nées à Reykjavík,
qui ont une date de naissance et une date de décès et va trier les résultats par nom :
SELECT distinct
?name ?birth ?person ?death WHERE
{ ?person dbpedia2:birthPlace <http://dbpedia.org/resource/Reykjav%C3%ADk> .
?person dbpedia2:birthDate ?birth .
?person dbpedia2:deathDate ?death .
?person foaf:name ?name .
} ORDER BY ?name
8. Requêtes DBPedia (3)
Requête N°3 : Liste des romanciers né à Paris avec un lien vers image.
PREFIX dbpedia:<http://dbpedia.org/ontology/>
PREFIX foaf:<http://xmlns.com/foaf/0.1/>
SELECT ?auteur ?image WHERE {
?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>.
?auteur foaf:depiction ?image.
?auteur dbpedia:birthPlace <http://dbpedia.org/resource/Paris>.
}
9. Requêtes DBPedia (4)
Requête n°4: Recherche des personnes qui ont un nom, une image et un historique. Limiter les
résultats à 1000 (pour avoir des temps de réponse raisonnables et limiter la charge de travail
au système).
SELECT ?back ?person ?name ?img WHERE
{
?person dbpedia2:background ?back .
?person foaf:name ?name .
?person foaf:depiction ?img .
?person rdf:type foaf:Person .
} LIMIT 1000
10. Requêtes DBPedia (5)
Requête n°5 : Cette requête affiche la liste des artistes associés ou similaires à “Akon”.
SELECT ?artiste ?i WHERE {
?b <http://dbpedia.org/property/associatedActs> <http://dbpedia.org/resource/Akon>.
?b <http://dbpedia.org/property/associatedActs> ?artiste.
?artiste <http://dbpedia.org/ontology/thumbnail> ?i
} GROUP BY ?artiste ?i LIMIT 100
11. LinkedMDB
● Base de données en ligne (Cinéma, Jeux Vidéos, Télévision)
● Grande diversité d'informations sur les acteurs, les films, les réalisateurs,
les scénaristes...
● Accès publique et gratuit
● Liste des adresses du site :
○ http://www.imdb.com/ données html
○ http://www.linkedmdb.org/sparql/ SPARQL EndPoint
○ http://www.linkedmdb.org/snorql/ SPARQL Explorer
12. Interconnexions
● Interconnexions de LinkedMDB avec d’autres banques de données
comme : DBpedia, Geo-names, Music Brainz, Flickr, RDF Book mashup.
13. Requêtes iMDB
Requête 1 : Liste les films d’un directeur donné (ici Woody Allen) où apparaît un acteur donné
(ici Scarlett Johansson)
PREFIX linkedmdb: <http://data.linkedmdb.org/resource/movie/>
SELECT ?movieName WHERE {
?director linkedmdb:director_name "Woody Allen".
?actor linkedmdb:actor_name "Scarlett Johansson".
?movie linkedmdb:director ?director;
linkedmdb:actor ?actor;
<http://purl.org/dc/terms/title> ?movieName.
}
14. Requêtes iMDB (2)
Requête 2 : Liste les acteurs qui sont apparus dans un film avec un acteur donné (ici Bruce
Willis) :
PREFIX linkedmdb: <http://data.linkedmdb.org/resource/movie/>
SELECT DISTINCT ?actorName WHERE {
?bw linkedmdb:actor_name "Bruce Willis".
?movie linkedmdb:actor ?bw;
linkedmdb:actor ?actor.
?actor linkedmdb:actor_name ?actorName.
FILTER (?bw != ?actor).
}
15. Requêtes iMDB (3)
Requête 3 : Liste les acteurs qui sont apparus dans un film dirigé par un directeur donné (ici
Christopher Nollan)
PREFIX linkedmdb: <http://data.linkedmdb.org/resource/movie/>
SELECT DISTINCT ?actorName WHERE {
?cn linkedmdb:director_name "Christopher Nolan".
?movie linkedmdb:director ?cn;
linkedmdb:actor ?actor.
?actor linkedmdb:actor_name ?actorName.
}
16. Requêtes iMDB (4)
Requête 4 : Liste les acteurs qui sont apparus à la fois dans les films du directeur 1 (ici Ang
Lee) et du directeur 2 (ici Steven Spielberg)
PREFIX linkedmdb: <http://data.linkedmdb.org/resource/movie/>
SELECT DISTINCT ?actorName WHERE {
?dir1 linkedmdb:director_name "Ang Lee".
?dir2 linkedmdb:director_name "Steven Spielberg".
?dir1movie linkedmdb:director ?dir1;
linkedmdb:actor ?actor.
?dir2movie linkedmdb:actor ?actor;
linkedmdb:director ?dir2.
?actor linkedmdb:actor_name ?actorName.
}