Requêtes DBpedia pour importer dans la base de données SQL - projhistoire/Projet-Histoire GitHub Wiki
Dans le cadre de notre projet, nous avons regroupé ici les différentes requêtes DBpedia utilisées pour collecter les données des astronautes importées dans la base de données, incluant notamment : la liste des astronautes, leurs occupations et leurs nationalités.
Requête de la liste d'astronautes à importer depuis DBpedia
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT (?o1 AS ?subject_uri) ?birthYear
#(COUNT(*) AS ?effectif)
WHERE {
SELECT DISTINCT ?o1 ?birthYear ?target (str(?label) as ?name)
WHERE {
{
{dbr:List_of_astronauts_by_name ?p ?o1.}
UNION
{dbr:List_of_physicists ?p ?o1.}
UNION
{?o1 ?p dbr:physicists.}
UNION
{?o1 ?p dbr:astronaut.}
UNION
{?o1 ?p dbr:biologist.}
}
?o1 a dbo:Person;
dbp:birthDate | dbo:birthDate ?birthDate;
dbp:occupation | dbo:occupation ?target.
?target rdfs:label ?label.
BIND(xsd:integer(SUBSTR(STR(?birthDate), 1, 4)) AS ?birthYear)
FILTER ( (?birthYear >= 1934 ) && LANG(?label) = 'en') # && ?birthYear < 2007
}
ORDER BY ?birthYear
}
Requête de la liste des occupations à importer
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT (?o1 AS ?subject_uri) (dbo:occupation AS ?property_uri) (?target AS ?object_uri) (?name AS ?label)
WHERE {
SELECT DISTINCT ?o1 ?target (str(?label) AS ?name)
WHERE {
{
dbr:List_of_astronauts_by_name ?p ?o1.
}
?o1 a dbo:Person;
dbp:birthDate | dbo:birthDate ?birthDate;
dbp:occupation | dbo:occupation ?target.
?target rdfs:label ?label.
BIND(xsd:integer(SUBSTR(STR(?birthDate), 1, 4)) AS ?birthYear)
FILTER (?birthYear >= 1934 && LANG(?label) = 'en')
}
ORDER BY ?birthYear
}
Requête des nationalités de la liste d'astronautes
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT (?o1 AS ?subject_uri) ?birthYear ?country ?nationality
WHERE {
SELECT DISTINCT ?o1 ?birthYear ?country ?nationality
WHERE {
{
{dbr:List_of_astronauts_by_name ?p ?o1.}
UNION
{dbr:List_of_physicists ?p ?o1.}
UNION
{?o1 ?p dbr:physicists.}
UNION
{?o1 ?p dbr:astronauts.}
UNION
{?o1 ?p dbr:biologists.}
}
?o1 a dbo:Person;
dbp:birthDate | dbo:birthDate ?birthDate.
OPTIONAL {
?o1 dbo:birthPlace ?birthPlace.
?birthPlace a dbo:Country.
}
BIND(STRAFTER(STR(?birthPlace), 'http://dbpedia.org/resource/') as ?country)
OPTIONAL {
?o1 dbo:nationality|dbp:nationality ?mixedNationality.
}
BIND(IF(
STRSTARTS(STR(?mixedNationality), 'http://dbpedia.org/resource/'),
STRAFTER(STR(?mixedNationality), 'http://dbpedia.org/resource/'),
STR(?mixedNationality)
) as ?nationality)
BIND(xsd:integer(SUBSTR(STR(?birthDate), 1, 4)) AS ?birthYear)
FILTER ( (?birthYear >= 1934 ))
}
ORDER BY ?birthYear
}