DBpedia_explorer - mroylem/archivist GitHub Wiki
Le point de départ: Wikipédia
Nous utilisons les données de Wikipédia comme source pour ce projet. Comme le montre la page dédiée, nous avons mobilisé différentes listes d’archivistes.
Liste des archivistes par pays
- Suisse
- France
- Belgique
- Canada
- Autre
- Listes des archivistes spécialisés
Requêtes d'exploration
Comme nous traitons principalement d'individu francophone, nous sommes dans l'obligation d'utiliser DBpedia francophone. Les requêtes faites sur le DBpedia anglophone ne fonctionnent tout simplement pas.
Vous trouverez ici, le raccourci pour effectuer les requêtes ici : https://fr.dbpedia.org/sparql
Occupation : Archiviste
Dans un premier temps, nous avons cherché à obtenir une liste des Archivistes présents sur DBpedia.
1ère requête
- La liste des Archivistes ci-dessous :
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbc: <http://fr.dbpedia.org/resource/Catégorie:>
SELECT DISTINCT ?person ?birthYear ?birthDate
WHERE
{
{?person dbo:wikiPageWikiLink dbc:Archiviste_suisse}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_francais}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_belge}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_canadien}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_paléographe}
OPTIONAL
{
?person dbo:birthDate | dbo:birthYear ?birthDate .
}
BIND(xsd:integer(SUBSTR(STR(?birthDate), 1, 4)) AS ?birthYear)
}
ORDER BY ?birthYear
-
Cette requête liste 630 archivistes.
-
Malheureusement, certaines personnes n'ont pas leur date de naissance et/ou leur lieu de naissance n'est pas notifié dans la liste. Le plus troublant c'est que, si nous reprenons les listes Wikipédia (raccourci en haut de cette page), nous trouvons toutes ces informations. La requête ne semble pas optimale.
2ème requête
- Après notre premier échec, nous avons procédé à une nouvelle requête. Nous avons tenté d’obtenir la liste des archivistes, y compris leur URI, leur date de naissance, leurs prénom et nom, ainsi que leur titre. Cela nous a permis d’identifier 110 personnes.
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbc: <http://fr.dbpedia.org/resource/Catégorie:>
SELECT (COUNT(*) as ?effectif )
WHERE
{
{?person dbo:wikiPageWikiLink dbc:Archiviste_suisse}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_francais}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_belge}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_canadien}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_paléographe}
}
- À l’inverse de la première demande, ici, toutes les informations sont disponibles pour chacun des 110 individus.
3ème requête
-
En nous basant sur la présente liste, nous avons décidé d'affiner la recherche.
-
Nous avons répertorié le nom, l'année de naissance ainsi que la nationalité de nos 110 archivistes précédemment identifiés.
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbc: <http://fr.dbpedia.org/resource/Catégorie:>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?person ?birthYear (str(?label) AS ?name)
WHERE {
{
{?person dbo:wikiPageWikiLink dbc:Archiviste_suisse}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_francais}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_belge}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_canadien}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_paléographe}
}
?person a dbo:Person .
?person dbp:birthDate | dbo:birthDate ?birthDate .
?person rdfs:label ?label .
BIND(xsd:integer(SUBSTR(STR(?birthDate), 1, 4)) AS ?birthYear)
FILTER((?birthYear >= 1820) && LANG(?label) = "fr")
}
ORDER BY ?person
4ème requête
Nous avons souhaité faire apparaître dans notre liste la nationalité de chaque individu.
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbc: <http://fr.dbpedia.org/resource/Catégorie:>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?person ?birthYear (str(?label) AS ?name) ?citizenship
WHERE {
{
{?person dbo:wikiPageWikiLink dbc:Archiviste_suisse}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_francais}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_belge}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_canadien}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_paléographe}
}
?person a dbo:Person .
?person dbp:birthDate | dbo:birthDate ?birthDate .
?person rdfs:label ?label .
OPTIONAL { ?person dbo:citizenship ?citizenship . }
BIND(xsd:integer(SUBSTR(STR(?birthDate), 1, 4)) AS ?birthYear)
FILTER((?birthYear >= 1820) && LANG(?label) = "fr")
}
ORDER BY ?person
Effectif de la population
5ème requête
- Nous avons répertorié les lieux de naissance de nos individus.
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbc: <http://fr.dbpedia.org/resource/Catégorie:>
SELECT DISTINCT ?person ?birthPlace
WHERE
{
{
{?person dbo:wikiPageWikiLink dbc:Archiviste_suisse}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_francais}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_belge}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_canadien}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_paléographe}
}
OPTIONAL {
?person dbo:birthPlace ?birthPlace .
}
}
Appartenance à une organisation
- Nous avons effectué une requête pour mettre en évidence les organisations auxquelles les archivistes appartenaient.
6ème requête
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbc: <http://fr.dbpedia.org/resource/Catégorie:>
SELECT DISTINCT ?person ?organization
WHERE
{
{
{?person dbo:wikiPageWikiLink dbc:Archiviste_suisse}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_francais}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_belge}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_canadien}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_paléographe}
}
OPTIONAL {
?person dbo:memberOf ?organization .
}
OPTIONAL {
?person dbo:affiliation ?organization .
}
OPTIONAL {
?person dbo:organisation ?organization .
}
}
- Malheureusement, la colonne organisation est vide
7ème requête
- Nous avons effectué une deuxième tentative en incluant la mention
dbo:employer
. Cette modification a entraîné l’apparition de plus de résultats.
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbc: <http://fr.dbpedia.org/resource/Catégorie:>
SELECT DISTINCT ?person ?organization ?employer
WHERE
{
{
{?person dbo:wikiPageWikiLink dbc:Archiviste_suisse}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_francais}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_belge}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_canadien}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_paléographe}
}
OPTIONAL {
?person dbo:memberOf ?organization .
}
OPTIONAL {
?person dbo:affiliation ?organization .
}
OPTIONAL {
?person dbo:organisation ?organization .
}
OPTIONAL {
?person dbo:employer ?employer .
}
}
- Malheureusement, cela ne résout pas entièrement notre problème, car nous avons remarqué que certaines lignes restent toujours vides.
L'éducation
8ème requête
- Ici, nous avons répertorié les lieux où chaque personne figurant sur notre liste a acquis ses compétences. Cette catégorie est étonnamment exhaustive.
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbc: <http://fr.dbpedia.org/resource/Catégorie:>
SELECT DISTINCT ?person ?almaMater
WHERE
{
{
{?person dbo:wikiPageWikiLink dbc:Archiviste_suisse}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_francais}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_belge}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_canadien}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_paléographe}
}
OPTIONAL {
?person dbo:almaMater ?almaMater
}
}
Importation dans notre base de donnée : Table person
9ème requête
Afin d'exporter notre requête au format CSV et de l'intégrer dans notre base de données, nous avons voulu afficher la liste des archivistes, leur genre, leur nationalité et leur date de décès. De la même manière que cela apparait dans notre table Person.
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbc: <http://fr.dbpedia.org/resource/Catégorie:>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT (str(?label) AS ?name) ?gender ?death_date ?nationality
WHERE {
{
{?person dbo:wikiPageWikiLink dbc:Archiviste_suisse}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_francais}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_belge}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_canadien}
UNION
{?person dbo:wikiPageWikiLink dbc:Archiviste_paléographe}
}
?person rdfs:label ?label .
?person dbp:deathDate | dbo:deathDate ?deathDate .
?person dbp:citizenship | dbo:citizenship ?citizenship .
OPTIONAL {
?citizenship rdfs:label ?nationality .
FILTER(LANG(?nationality) = "fr")
}
OPTIONAL {
?person dbp:gender | dbo:gender ?gender .
}
BIND(xsd:integer(SUBSTR(STR(?deathDate), 1, 4)) AS ?death_date)
FILTER (?deathDate >= 1820 && LANG(?label) = "fr")
}
ORDER BY ?person