SPARQL et Wikidata. Partie 2 : images, cartes, frises chronologiques et graphes

5 048 mots, temps de lecture estimé 27 minutes.

L’infobox des pages de Wikipédia se présente sous la forme d’un bloc de texte localisé latéralement, dans lequel sont affichées des informations factuelles, possiblement accompagnées d’une illustration. Ce pavé d’information fréquemment présent, mais non obligatoire, résume les principales propriétés relatives à une entité de Wikipédia. Les articles en différentes langues peuvent s’aider de la base sémantique Wikidata pour générer de manière automatique cette infobox. Des entrées peuvent de plus être présentes dans Wikidata, sans qu’il n’existe aucune page Wikipédia. Wikidata présente donc un aspect central et fédérateur utilisé principalement pour Wikipédia, mais aussi possiblement pour la médiatheque ouverte Wikimedia Commons.

L’interrogation des données de Wikidata se montre ensuite possible à l’aide d’un moteur de recherche standard, localisé en haut à droite de l’interface. On récupère ainsi en général un élément et son identifiant, de même que des liens vers les articles Wikipédia en différentes langues. Wikidata peut aussi être interrogé à l’aide de SPARQL (SPARQL Protocol and RDF Query Language). Apparenté à SQL, ce langage évolué se montre performant pour calculer, effectuer des opérations statistiques sur des chaines de caractères, extraire des tableaux de données dont la structure peut être finement contrôlée, tout ceci dans des bases de données du type triplestore. Nommée Wikidata Query Service (WDQS, « query.wikidata.org« ), l’interface d’interrogation SPARQL assiste l’utilisateur dans la formulation de ses requêtes. Elle rend simultanément visible, la requête de même que la réponse obtenue (ou bien un message d’erreur informatif). Finalement, les résultats peuvent être visionnés sous forme de murs d’images, de graphes divers, de cartes, de chronologies, de réseaux de relations.

Dans ce deuxième article sur SPARQL et Wikidata, une requête simple est d’abord posée à titre d’exemple : les mathématiciennes françaises sont recherchées, avec comme point de départ la marquise Émilie du Châtelet. Puis la requête est rendue progressivement plus complexe et de nouvelles informations sont affichées. Les réponses sont visualisées d’abord sous forme d’un tableau dont le nombre de ligne indique le nombre de personnes trouvées. Les possibilités, en matière de visualisation à l’aide de WDQS se montrent assez larges et sont ici partiellement explorées.

  1. Requêtes SPARQL
  2. Les mathématiciennes françaises référencées dans Wikidata
    • 2.1 Première requête
    • 2.2 Carte des lieux de naissance
    • 2.3 Panneau d’images
    • 2.4 Une frise chronologique, avec Wikidata
    • 2.5 Une frise chronologique, avec Histropedia JS et Wikidata
    • 2.6 Champs répétés : agrégation des nationalités
  3. Mathématiciennes et mathématiciens
    • 3.1 Les mathématiciennes de Wikidata au niveau mondial
    • 3.2 Les mathématiciennes, politiques nationales de recherche
    • 3.3 Lieux de naissance des mathématiciennes, une approche historique
    • 3.4 Tous les mathématiciens, lieux de naissance
    • 3.5 Effectifs par année de naissance
    • 3.6 Effectif par décade, lissage
    • 3.7 Les activités professionnelles autres que les mathématiques
    • 3.8 Les activités professionnelles des mathématiciens nés au XVIIIème
  4. Requêtes fédérées
  • Requête 1 : Les mathématiciennes françaises référencées dans Wikidata
  • Requête 2 : Carte des lieux de naissance des mathématiciennes françaises
  • Requête 3 : Frise chronologique des mathématiciennes françaises dans Wikidata
  • Requête 4 : Nationalités multiples des mathématiciennes françaises
  • Requête 5 : Les mathématiciennes de toutes nationalités dans Wikidata
  • Requête 6 : Carte du lieu de naissance des mathématiciennes de toutes nationalités
  • Requête 7 : Carte du lieu de naissance et période historique des mathématiciennes de toutes nationalités
  • Requête 8 : Effectif des mathématiciennes et mathématiciens par année de naissance
  • Requête 9 : Effectif lissé par décade
  • Requête 10 : Activités professionnelles secondaires des mathématiciens
  • Requête 11 : Professions alternatives des mathématiciens nés au 18e siècle
  • Requête 12 : Requête fédérée : le spectacle « Discours sur le bonheur » à la BnF, adapté du texte d’Émilie du Chatelet
  • Requête 13 : Requête fédérée : images représentant le concept de « bonheur », telles que référencées à la BnF

1. Requêtes SELECT WHERE avec SPARQL

La requête la plus simple pour décrire un élément d’une base sémantique consiste à se servir de la clause DESCRIBE suivi de l’IRI de la ressource dont la description est souhaitée. Dans le cas de Wikidata, la syntaxe est par exemple :

DESCRIBE <http://www.wikidata.org/entity/Q7286>

Un autre type classique et plus complexe de requête permet la recherche de liste de ressources. Deux parties (SELECT et WHERE) se montrent obligatoires et trois sont facultatives (PREFIX, FROM et les modificateurs).

Localisé en début de requête, PREFIX permet de déclarer les abréviations des noms de domaine des ontologies utilisées dans la requête. La clause SELECT définit les colonnes du tableau de données attendu en retour. WHERE spécifie les critères de recherche énumérés sous forme de séries de motifs de triplets. Les modificateurs localisés après WHERE rendent possible les regroupements et les tris.

De fréquents liens sont ici donnés vers un tutoriel en anglais, le Wikibook de HenkvD sur SPARQL et Wikidata précisément. Des précisions et des exemples supplémentaires y sont disponibles. Plus simple que cette partie 2, le billet précédent sur Wikidata et SPARQL peut aussi être consulté.

Structure d’une requête SPARQL du type SELECT, d’après KBpedia : Lien
  • SPARQL, Basics, Wikibooks, HenkvD : Lien
  • SPARQL, Modifiers, Wikibooks, HenkvD : Lien
  • SPARQL, Prefixes, Wikibooks, HenkvD : Lien
  • SPARQL et Wikidata. Partie 1 : les personnes, P. Couchet, 2021 : Lien

2. Les mathématiciennes françaises référencées dans Wikidata

On peut avec DESCRIBE visualiser la notice d’une mathématicienne française bien connue, comme par exemple Émilie du Châtelet, traductrice du latin en français du Philosophiæ naturalis principia mathematica (Principes mathématiques de la philosophie naturelle – parfois abrégé en principia) de Newton. L’identification d’Émilie dans Wikidata.org à l’aide du moteur localisé en haut à droite de l’écran est Q7286, « https://www.wikidata.org/wiki/Q7286 ». L’identifiant Q7286 peut alors servir à construire une requête sur l’IRI : Lien

DESCRIBE <http://www.wikidata.org/entity/Q7286>

On obtient alors une liste de 624 triplets dans laquelle Q7286 est soit sujet (localisé en première position du triplet), soit objet (localisé en troisième position). L’interface de WDQS permet l’exploration graphique des propriétés renseignées. Il suffit de cliquer sur la loupe qui précède une des entrées Q7286 quelconque. On peut, à l’aide de cette interface, obtenir le graphe suivant :

Une partie des graphes d’Émilie du Châtelet et de son fils Louis Marie Florent, visualisé avec l’Explorer de WDQS

Nous pouvons par ailleurs en savoir beaucoup plus sur la biographie de cette mathématicienne française, en consultant les articles d’historiennes, comme par exemple ceux de Caroline Douridot, ou de Mireille Touzery. Wikidata apporte au public des repères factuels bien établis et généralement exacts, mais ne remplace en rien les travaux des historiennes et historiens. Ils viennent simplement rendre plus fiables leurs assertions. Des vérifications par recoupement se trouvent facilités.

  • Madame Du Châtelet. La femme des Lumières, Caroline Doridot et Anne Zali, Exposition 2006, BnF, Fiche pédagogique : Lien
  • Mireille Touzery, « Émilie Du Châtelet, un passeur scientifique au XVIIIe siècle », La revue pour l’histoire du CNRS [Online], 21 | 2008, Online since 03 July 2010, connection on 05 May 2022. URL : http://journals.openedition.org/histoire-cnrs/7752 ; DOI : https://doi.org/10.4000/histoire-cnrs.7752

2.1 Première requête

Une première requête SELECT WHERE est lancée. Le caractère dièse « # » indique un commentaire dans SPARQL. De manière standard, le préfixe « wdt » précède les propriétés, alors que « wd » précède les valeurs.

Dans la partie WHERE de la requête, plusieurs « motifs de triplets » terminés par un point se succèdent. L’activité professionnelle (P106) de mathématicien (Q170790) est recherchée à l’aide du motif de triplet « ?personne », « wdt:P106 » (occupation), « wd:Q170790 » (mathématicien). Un deuxième motif (« ?personne », « wdt:P21 sexe ou genre », « wd:Q6581072 féminin ») permet de trouver les mathématiciennes. La nationalité française est cherchée à l’aide du troisième motif (« ?personne », « wdt:P27 pays de citoyenneté », « wd:Q142 »).

Spécifique à Wikidata, le service « SERVICE wikibase:label » appelé dans WHERE permet de disposer d’un raccourci pour nommer à l’aide d’une variable les libellés, descriptions et libellés alternatifs en diverses langues. Ainsi, les suffixes du nom de variable « Label », « Description » ou « AltLabel » ajoutés automatiquement au nom (?personne dans l’exemple) permettent d’accéder aisément au libellé préféré (?personneLabel), à une brève description (?personneDescription), à des descriptions alternatives (?personneDescription) prioritairement en français, ensuite en anglais, et finalement dans la langue dans laquelle les données ont été renseignées.

La partie SELECT spécifie les colonnes du tableau de résultat à afficher. 121 résultats (121 personnes) sont trouvés en date d’écriture du tutoriel à l’aide de la Requête 1.

# Les mathématiciennes françaises
SELECT ?personne ?personneLabel
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  ?personne wdt:P27 wd:Q142.     #France
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en". }
}

On obtient le tableau dans lequel un tri par identifiant Wikidata est possible en cliquant simplement sur le libellé de colonne du tableau. Une icône en forme de loupe localisée avant l’identifiant permet le lancement de l’explorateur et la visualisation graphique des propriétés et valeurs renseignées sur une personne donnée.

personnepersonneLabel
wd:Q7103Sophie Germain
wd:Q7286Émilie du Châtelet
wd:Q16445Michèle Vergne
wd:Q266049Nicole-Reine Lepaute
4 premières valeurs d’un tableau de 121 lignes

SPARQL permet aussi de compter. Un dénombrement des mathématiciennes françaises est obtenu avec la requête suivante dans laquelle la fonction de comptage COUNT est localisée dans la partie SELECT :

# Effectif dans Wikidata des mathématiciennes françaises
SELECT (COUNT(DISTINCT ?personne) AS ?effectif)
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  ?personne wdt:P27 wd:Q142.     #France
}
  • SPARQL, Wikidata Query Service – Introduction, HenkvD : Lien
  • SPARQL, SERVICE – Label, Wikibooks, HenkvD : Lien
  • SPARQL, Triples, Wikibooks, HenkvD : Lien

2.2 Carte des lieux de naissance

On s’intéresse ensuite au lieu de naissance de ce petit ensemble de mathématiciennes. Celui-ci est renseigné ou bien absent, d’où l’emploi d’OPTIONAL appliquée au motif (« ?personne », « wdt:P19« , « ?lieuNaissance »). La variable « ?lieuNaissanceLabel » est ajoutée dans SELECT. 3 variables dans SELECT, 3 colonnes dans le tableau de résultats :

# Les mathématiciennes françaises, lieu de naissance
SELECT ?personne ?personneLabel ?lieuNaissanceLabel
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  ?personne wdt:P27 wd:Q142.     #France
  OPTIONAL {?personne wdt:P19 ?lieuNaissance.}
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en". }
}
personnepersonneLabellieuNaissanceLabel
wd:Q7103Sophie GermainParis
wd:Q7286Émilie du ChâteletParis
wd:Q16445Michèle VergneL’Isle-Adam
Les 3 premiers résultats

Ce lieu peut être géolocalisé. Si l’on cherche par exemple la ville de L’Isle-Adam Q911450 dans le moteur classique de Wikidata (situé en haut à droite de l’interface), on remarque que les coordonnées sont données par la propriété « P625 ». Le motif de triplet à ajouter est donc (« ?lieuNaissance », « wdt:P625« , « ?localisation »). Le résultat peut ensuite être affiché indifféremment sous forme de tableau ou de carte géographique, en choisissant « Map » dans l’onglet des visualisations : Requête 2

# Les mathématiciennes françaises, lieu de naissance, localisation
SELECT ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  ?personne wdt:P27 wd:Q142.     #France
  OPTIONAL {
    ?personne wdt:P19 ?lieuNaissance.
    ?lieuNaissance wdt:P625 ?localisation.
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en". }
}
personnepersonneLabellieuNaissanceLabellocalisation
wd:Q104173Hélène EsnaultParisPoint(2.351388888 48.856944444)
wd:Q266049Nicole-Reine LepauteParisPoint(2.351388888 48.856944444)
wd:Q274751Élisabeth LutzThannPoint(7.104444444 47.806666666)
Une
Carte des lieux de naissance des mathématiciennes françaises : Lien

2.3 Panneau d’images

Il est maintenant possible de chercher des reprsentations (gravures, peintures, photos) des mathématiciennes de Wikidata. Si l’on affiche Émilie du Châtelet de nouveau, une ou bien plusieurs URL de Wikimedia Commons sont fournies en valeur de la propriété « P18 » image. Le motif de triplet (« ?personne », « wdt:P18 », « ?image ») permet la recherche. Le tableau est ensuite affiché sous forme de panneau d’images à l’aide de l’outil « Image grid » de WDQS.

# Les mathématiciennes françaises, lieu de naissance, image
SELECT ?personne ?personneLabel ?lieuNaissanceLabel ?localisation ?image
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  ?personne wdt:P27 wd:Q142.     #France
  OPTIONAL {
    ?personne wdt:P19 ?lieuNaissance.
    ?lieuNaissance wdt:P625 ?localisation.
  }
  OPTIONAL {?personne wdt:P18 ?image.}
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en". }
}
Images des mathématiciennes françaises sous Wikimedia Commons : Lien

2.4 Une frise chronologique, dans Wikidata

Des informations biographiques sont indiquées. La notice d’Émilie du Châtelet Q7286 fournit encore les propriétés « P569 » date de naissance et « P570 » date de mort. Ces motifs sont déclarés optionnels car les dates ne sont pas toujours renseignées. Les valeurs du tableau sont ordonnés par date de naissance à l’aide du modificateur ORDER BY placé en fin de requête :

# Les mathématiciennes françaises, lieu de naissance, image, dates
SELECT ?personne ?personneLabel ?lieuNaissanceLabel ?localisation ?image ?dateNaissance ?dateDeces
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  ?personne wdt:P27 wd:Q142.     #France
  OPTIONAL {
    ?personne wdt:P19 ?lieuNaissance.
    ?lieuNaissance wdt:P625 ?localisation.
  }
  OPTIONAL {?personne wdt:P18 ?image.}
  OPTIONAL {?personne wdt:P569 ?dateNaissance.}
  OPTIONAL {?personne wdt:P570 ?dateDeces.}
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en". }
}
ORDER BY ?dateNaissance

On observe de manière étonnante l’obtention de 127 résultats en lieu et place des 121 obtenus précédemment. Les doublons correspondent aux notices pour lesquelles plusieurs dates de naissance ou de décès sont renseignées. Ainsi, la date de décès de Marie-Jeanne de Lalande est référencée au 8 novembre 1832 par Wikipédia, et à l’année 1832 par le MacTutor History of Mathematics Archive. Il serait intéressant pour notre tableau de disposer d’une date unique.

L’instruction SAMPLE dans SELECT permet de n’afficher qu’une seule valeur si les images, les dates de naissance et de décès sont plusieurs fois présentes. Le modificateur utilisé conjointement GROUP BY permet de regrouper les notices présentant plusieurs valeurs en une seule. Les variables mentionnées dans GROUP BY sont ici toutes les variables présentes dans SELECT hormis celles échantillonnées à l’aide de SAMPLE. La requête devient ainsi Requête 3 :

# Les mathématiciennes françaises, lieu de naissance, image, dates
SELECT ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
  (SAMPLE(?images) AS ?image)  
  (SAMPLE(?datesNaissance) AS ?dateNaissance)
  (SAMPLE(?datesDeces) AS ?dateDeces)
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  ?personne wdt:P27 wd:Q142.     #France
  OPTIONAL {
    ?personne wdt:P19 ?lieuNaissance.
    ?lieuNaissance wdt:P625 ?localisation.
  }
  OPTIONAL {?personne wdt:P18 ?images.}
  OPTIONAL {?personne wdt:P569 ?datesNaissance.}
  OPTIONAL {?personne wdt:P570 ?datesDeces.}
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en". }
}
GROUP BY ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
ORDER BY ?dateNaissance

Les 121 mathématiciennes françaises sont de nouveau retrouvées. Les mêmes notices peuvent être visionnées au choix sous forme de tableau, de mur d’image, de carte géographique ou de frise chronologique.

personnepersonneLabellieuNaissanceLabellocalisationimagedateNaissancedateDeces
wd:Q7103Sophie GermainParisPoint(2.351388888 48.856944444) commons:Germain.jpeg1 avril 177627 juin 1831
wd:Q7286Émilie du ChâteletParisPoint(2.351388888 48.856944444) commons:Okänd – Gabrielle-Émilie Le Tonnelier de Breteuil (1706–1749), Marquise du Châtelet – NMDrh 796 – Nationalmuseum.jpg17 décembre 170610 septembre 1749
wd:Q16445Michèle VergneL’Isle-AdamPoint(2.222777777 49.111111111) commons:Michele Vergne.jpg29 août 1943
Frise chronologique WDQS des mathématiciennes françaises : Lien

2.5 Une frise chronologique, avec Histropedia JS et Wikidata

Cependant, la visualisation du chronogramme illustré se montre peu ergonomique avec WDQS et un service externe est testé. Hispropedia JS est à la fois une bibliothèque Javascript et un service en ligne de création de frise chronologique développé par Navino Evans et Sean McBirnie. Une des fonctionnalités du service est de permettre l’entrée de requêtes SPARQL pour générer une frise.

Il est ensuite possible de positionner la souris sur une date que l’on souhaite explorer. On zoom ensuite sur cette zone avec la molette de la souris, et d’autres portraits s’affichent, ou bien juste le nom en cas d’absence. Un double clic donne l’accès à la notice Wikidata. La frise peut être partagée et des exports en divers formats sont possibles. On remarque au passage sur la ligne des dates en bas l’important nombre des mathématiciennes référencées à partir de 1940. Cela est à l’origine des difficultés d’affichage avec WDQS.

  • Histropedia – Wikidata Query Timeline (beta) : Lien
Une chronologie des mathématiciennes françaises, avec Histropedia JS et Wikidata : Lien

2.6 Champs répétés : agrégation des nationalités

La question de la nationalité nécessite de prendre en compte dans une requête le cas des multinationaux, ainsi que des pays dont le nom a changé. En terme de modèle de donnée, la nationalité peut ne pas être renseignée, avoir une valeur ou bien admettre plusieurs valeurs.

Un exemple de mathématicienne binationale est Liouba Bortniker Q51954788. Elle naît le 20 mai 1860 à Alexandrowka, en Ukraine. Nous souhaitons concaténer dans une seule colonne le libellé en français des nationalités des mathématiciennes, éventuellement multiples. Toutes les nationalités sont cherchées avec le motif optionnel (« ?personne », « wdt:P27 », « ?nationalites »).

Dans la partie SELECT, une seule nationalité est affichée sous forme d’identifiant avec SAMPLE. Les libellés sont concaténés à l’aide de la clause GROUP_CONCAT. En fin de reequête, la clause « GROUP BY » induit l’agragation des données. Une ligne est affichée par URI des mathématiciennes.

L’usage de cette clause dans Wikidata, induit un effet de bord qui fait que les valeurs des variables ?personneLabel ?lieuNaissanceLabel et ?nationalitesLabel sont perdues. Celles-ci peuvent être retrouvées de manière aisée, en ajoutant dans la partie « SERVICE wikibase:label » les libellés dont l’affichage est demandé dans la partie SELECT. La requête s’en trouve cependant un peu compliquée. Requête 4 :

# Les mathématiciennes françaises, leurs nationalités
SELECT ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
  (SAMPLE(?images) AS ?image)  
  (SAMPLE(?datesNaissance) AS ?dateNaissance)
  (SAMPLE(?datesDeces) AS ?dateDeces)
  (SAMPLE(?nationalites) AS ?nationalite)
  (GROUP_CONCAT(DISTINCT ?nationalitesLabel; separator=", ") AS ?listeNat)
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  ?personne wdt:P27 wd:Q142.     #France
  OPTIONAL {
    ?personne wdt:P19 ?lieuNaissance.
    ?lieuNaissance wdt:P625 ?localisation.
  }
  OPTIONAL {?personne wdt:P18 ?images.}
  OPTIONAL {?personne wdt:P569 ?datesNaissance.}
  OPTIONAL {?personne wdt:P570 ?datesDeces.}
  OPTIONAL {?personne wdt:P27 ?nationalites.}
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en".
    ?personne rdfs:label ?personneLabel.
    ?lieuNaissance rdfs:label ?lieuNaissanceLabel.
    ?nationalites rdfs:label ?nationalitesLabel.
  }
}
GROUP BY ?personne ?personneLabel ?lieuNaissanceLabel ?localisation ?listeNat
ORDER BY ?dateNaissance

Les 121 mathématiciennes françaises de Wikidata sont cependant retrouvées. On dénombre 10 mathématiciennes multinationales sur 121. Les nationalités multiples correspondent dans Wikidata soit au cas de femmes immigrées, soit émigrées, soit dont le pays d’origine a changé de nom (ex: Empire Russe, URSS, Russie).

wd:Q51954788Liouba BortnikerAlexandrovkaPoint(41.355277777 52.280833333)20 mai 18601 janvier 1900 wd:Q142France, Empire russe
wd:Q42887333Anna Cartan15 mai 18781 janvier 1923 wd:Q142France
wd:Q51955179Jeanne RouvièreBesançonPoint(6.021388888 47.242222222)21 janvier 18921 janvier 1970 wd:Q142France
wd:Q51955135Georgette FlamantChalon-sur-SaônePoint(4.853888888 46.781111111)3 janvier 18955 juillet 1958 wd:Q142France
4 résultats de la requête

La même méthode peut être employée avec d’autres propriétés, possiblement multivalués comme par exemple « P101 » (domaine d’activité : mathématicien), « P106 » (activité professionnelle : mathématicien, physicien), « P463 » (membre de), langues parlées, études suivies, est influencé par, etc. Les clauses GROUP_CONCAT, SAMPLE, GROUP BY et d’autres sont documentées sous le nom de fonctions d’agrégation.

  • SPARQL, Aggregate functions – Label, Wikibooks, HenkvD : Lien

3. Mathématiciennes et mathématiciens

La question est élargie à toutes les mathématiciennes, puis à tous les mathématiciens référencés dans Wikidata. Le temps de réponse avec de telles requêtes devient important, de l’ordre de quelques secondes à plusieurs dizaines de secondes, et l’obtention de résultats n’est plus garantie. Les fonctions d’agrégation se montrent exigeantes en terme de temps de calcul. Les limites en terme de temps de calcul conduisent à une absence d’affichage.

3.1 Les mathématiciennes de Wikidata

La requête 4 est reprise en commentant à l’aide de # le motif du pays de citoyenneté. 3377 résultats sont obtenus en 10 secondes. Les résultats sont affiché sous forme paginée et possible à chercher, avec le moteur « Search » localisé à droite au-dessus du tableau. WDQS permet en bas des résultats de spécifier le nombre de résultat par page souhaité. On peut ainsi affiner et chercher les mathématiciennes italiennes, par exemple. La carte des lieux de naissance est ensuite affichée. Requête 5.

Toutes les mathématiciennes de Wikidata, triées par numéro d’URI
Carte des lieux de naissance des mathématiciennes de Wikidata

3.2 Les mathématiciennes, politiques nationales de recherche

Avec de tels chiffres, des analyses statistiques à prendre avec précautions deviennent possibles.

Localisée dans la partie SELECT, une variable d’un nom particulier « ?layer » est reconnue par WDQS. Sera stocké dans cette variable une couche d’image, caractérisée par un point de couleur spécial sur la carte.

Ensuite, lors du visionnage de la carte, l’affichage d’une seule couche par nationalité peut être commandé. On obtient 3377 mathématiciennes dont seul la première nationalité a été sélectionnée, et dont certaines ont un lieu de naissance ainsi qu’une nationalité renseignées. Requête 6.

# Les mathématiciennes, naissance et nationalité
SELECT ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
  (SAMPLE(?nationalitesLabel) AS ?layer)
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  OPTIONAL {
    ?personne wdt:P19 ?lieuNaissance.
    ?lieuNaissance wdt:P625 ?localisation.
  }
  OPTIONAL {?personne wdt:P27 ?nationalites.}
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en".
    ?personne rdfs:label ?personneLabel.
    ?lieuNaissance rdfs:label ?lieuNaissanceLabel.
    ?nationalites rdfs:label ?nationalitesLabel.
  }
}
GROUP BY ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
personnepersonneLabellieuNaissanceLabellocalisationlayer
wd:Q520382Elizabeth ScottFort SillPoint(-98.508333333 34.704166666)États-Unis
wd:Q522359Valentina BorokKharkivPoint(36.231111111 49.9925)Ukraine
wd:Q526401Cécile DeWitt-Morette6e arrondissement de ParisPoint(2.332233333 48.850530555)France
wd:Q528763Maria ChudnovskyUnion des républiques socialistes soviétiquesPoint(90.0 65.0)Israël
Lieu de naissance des mathématiciennes de Wikidata, colorié par nationalité : Lien

Il devient ensuite possible d’extrapoler et d’interpéter avec prudence et réserves. On peut considérer que la plupart des mathématiciennes sont nées récemment, et qu’il est possible à l’aide de cet échantillon d’observer les politiques nationales, en matière de recherche scientifique et de naturalisation.

Il suffit dans la partie des couches de la carte, de sélectionner le pays dont on souhaite observer la politique. De nombreux pays comme les États-Unis, le Canada, la Suisse, le Royaume-Uni, la France semblent mener une politique d’accueil plus ou moins large dans le but d’attirer des talents, alors que d’autres comme l’Allemagne ou l’Italie semblent former et employer plutôt nationalement.

Ces conclusions de Wikidata, restent des hypothèses, point de départ possible d’études scientifiques quantitatives, dont les interprétations peuvent éclairer des aspects sociologiques ou politiques.

Lieux de naissance des mathématiciennes de nationalité américaine
Lieux de naissance des mathématiciennes allemandes, italiennes et britanniques

3.3 Lieux de naissance des mathématiciennes, une approche historique

L’appartenance à une période historique sur la base de la date de naissance est maintenant considéré. Une approche géo-historique est considérée. Les périodes suivantes : avant 1700, de 1700 à 1750, de 1751 à 1800 et ainsi de suite jusqu’à après 1940 sont calculées et attribuées à la variable spéciale ?layer.

On obtient un tableau de 3406 mathématiciennes en 10 secondes. La localisation du lieu de naissance, de même que la date, sont simultanément connues pour 1447 personnes (et donc ignorées pour 1959). Requête 7

# Les mathématiciennes, par année de naissance
#defaultView:Map
SELECT ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
  (SAMPLE(?datesNaissance) AS ?dateNaissance)
  (SAMPLE(?datesDeces) AS ?dateDeces)
  (SAMPLE(?anneesNaissance) AS ?anneeNaissance)
  (SAMPLE(?nationalitesLabel) AS ?nationaliteLabel)
  (SAMPLE(?layers) AS ?layer)
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P21 wd:Q6581072. #féminin
  OPTIONAL {
    ?personne wdt:P19 ?lieuNaissance.
    ?lieuNaissance wdt:P625 ?localisation.
  }
  OPTIONAL {?personne wdt:P569 ?datesNaissance.}
  OPTIONAL {?personne wdt:P570 ?datesDeces.}
  OPTIONAL {?personne wdt:P27 ?nationalites.}
  BIND(YEAR(?datesNaissance) as ?anneesNaissance)
  BIND(
    IF((?anneesNaissance < 1700), "Pre-1700", 
       IF((?anneesNaissance < 1751), "1700-1750", 
          IF((?anneesNaissance < 1801), "1751-1800", 
             IF((?anneesNaissance < 1851), "1801-1850", 
                IF((?anneesNaissance < 1901), "1851-1900", 
                   IF((?anneesNaissance < 1940), "1901-1940", 
                      "Post-1940"
     ) ) ) ) )) AS ?layers )
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en".
    ?personne rdfs:label ?personneLabel.
    ?lieuNaissance rdfs:label ?lieuNaissanceLabel.
    ?nationalites rdfs:label ?nationalitesLabel.
  }
}
GROUP BY ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
ORDER BY ?dateNaissance
personnepersonneLabellieuNaissanceLabellocalisationdateNaissancedateDecesanneeNaissancenationaliteLabellayer
wd:Q111805289Beulah Russell1 janvier 18781 janvier 194018781851-1900
wd:Q111782501Rosa FerrentinoItalie
wd:Q111755654Chiara NicoteraNaplesPoint(14.25 40.833333333)26 août 19671967Post-1940
wd:Q111745840Tiziana DuranteItalie
wd:Q111745454Patricia Díaz de AlbaCadixPoint(-6.2975 36.535)20 mai 19881988EspagnePost-1940
Tableau des résultats
Les mathématiciennes, classées par lieu de naissance, et période historique

3.4 Tous les mathématiciens, lieux de naissance

Que se passe-t-il pour des effectifs plus costauds ? Nous pouvons maintenant nous intéresser à l’ensemble des mathématiciens référencés dans Wikidata. Le motif de triplet dans WHERE concernant le genre est commenté. Plus de 10000 résultats sont attendus.

On obtient ainsi 30391 résultats en 59 secondes, lorsque les serveurs ne sont pas surchargés. Cette requête syntaxiquement valide n’aboutit pas la plupart du temps, du fait de la sélection d’un ensemble trop important de données et de l’usage de fonctions d’agrégation. La requête gagnerait à être scindée en plusieurs autres.

Une carte des lieux de naissance avec visualisation des marqueurs sous forme d’amas est cependant demandée en spécifiant l’option « markercluster » en tout début de requête en paramêtre de « #defaultView:Map« . Spécifique de WDQS, cette option présente les lieux de naissance sur la carte, sous forme d’amas de marqueurs reflétant les effectifs. Lorsqu’un zoom sur un lieu est fait, les localisations exactes sont affichées.

# Les mathématiciens
#defaultView:Map{"markercluster":{} }
SELECT ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
  (SAMPLE(?datesNaissance) AS ?dateNaissance)
  (SAMPLE(?datesDeces) AS ?dateDeces)
  (SAMPLE(?nationalitesLabel) AS ?nationaliteLabel)
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  OPTIONAL {
    ?personne wdt:P19 ?lieuNaissance.
    ?lieuNaissance wdt:P625 ?localisation.
  }
  OPTIONAL {?personne wdt:P569 ?datesNaissance.}
  OPTIONAL {?personne wdt:P570 ?datesDeces.}
  OPTIONAL {?personne wdt:P27 ?nationalites.}
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr,en".
    ?personne rdfs:label ?personneLabel.
    ?lieuNaissance rdfs:label ?lieuNaissanceLabel.
    ?nationalites rdfs:label ?nationalitesLabel.
  }
}
GROUP BY ?personne ?personneLabel ?lieuNaissanceLabel ?localisation
ORDER BY ?dateNaissance
Carte des lieux de naissance des mathématiciens, avec amas de marqueurs, une carte dont l’obtention n’est pas garantie, du fait d’un nombre de temps de calcul trop longs

3.5 Effectifs par année de naissance

La requête précédente est allégée et l’année de naissance seule est recherchée. La fonction COUNT de SPARQL peut être utilisée pour réaliser des histogrammes sur la base de la valeur. On obtient ainsi un tableau à deux colonnes de 752 lignes correspondant à 752 années au cours desquelles au moins un mathématicien de Wikidata est né. WDQS propose l’affichage de ce genre de données sous forme de graphe avec l’option « LineChart » : Requête 8.

#Effectif des mathématiciens par année de naissance
#defaultView:LineChart
SELECT ?anneeNaissance (COUNT(?anneeNaissance) AS ?effectif) 
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P569 ?datesNaissance.
  BIND(YEAR(?datesNaissance) as ?anneeNaissance). 
  FILTER( ?anneeNaissance > 0)
}
GROUP BY ?anneeNaissance
ORDER BY ?anneeNaissance
anneeNaissanceeffectif
1904100
1905133
1906144
1907140
Effectif des mathématiciens, par année de la date de naissance
Graphique de l’effectif des mathématiciens, en fonction de la date de naissance, avec « Line chart ». Un pic d’auto-citation semble apparaitre dans les années 2000.

3.6 Lissage des effectifs

Les donnnées semblent croitre de manière exponentielle, avec un pic obtenu pour l’année 2000. Une manière simple de lisser ces données est de calculer les effectifs par décade de la date de naissance. Celle-ci est obtenue en divisant par 10 l’année de naissance, puis en arrondissant à l’aide de la fonction ROUND de SPARQL, et en multipliant le tout par 10. La fonction BIND attribue le résultat du calcul à la variable ?decade : Requête 9

#Effectif des mathématiciens par décade de l'année de naissance
#defaultView:LineChart
SELECT ?decade (COUNT(?decade) AS ?effectif) 
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P569 ?datesNaissance.
  BIND(YEAR(?datesNaissance) as ?anneeNaissance). 
  BIND(ROUND(?anneeNaissance/10)*10 as ?decade).
  FILTER( ?anneeNaissance > 0)
}
GROUP BY ?decade
ORDER BY ?decade
Graphique de l’effectif des mathématiciens, lissé en fonction de la décade de naissance, visualisé avec l’option « Line chart »

3.7 Les activités professionnelles secondaires

Une visualisation en forme de bulles dont la superficie est proportionnelle à l’effectif est possible avec WDQS. Ce graphique peut être utilisé dans le cas de valeurs textuelles hautement multiples, possiblement avec une longue traine.

La propriété P106 (occupation au sens activité professionnelle) se trouve fréquemment renseignée de plusieurs manières, pour une même personne. De nombreux mathématiciens exercent généralement plusieurs activités notables au cours de leur carrière et ces professions ont changé au cours du temps.

La requête suivante tourne en 27 secondes. 961 professions autres que « mathématicien » sont référencées. Il est possible d’afficher sous forme de graphe à bulle le tableau des professions, pour en donner un aspect visuel synthétique.

La profession de « professeur d’université » se montre associée dans près de 20% des descriptions. Les informaticiens sont représentés en importance quasiment égale, avec les astronomes et physiciens. Des études plus fines sur ces professions alternatives, et sur les distinctions entre mathématiques pures et appliquées, pourraient être menées. Requête 10.

# Activités professionnelles des mathématiciens
SELECT ?profession ?professionLabel ?professionDescription (COUNT(*) AS ?effectif)
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P106 ?profession.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
GROUP BY ?profession ?professionLabel ?professionDescription
ORDER BY DESC(?effectif) ?profession
professionprofessionLabelprofessionDescriptioneffectif
wd:Q170790mathématicienchercheur en mathématiques30434
wd:Q1622272professeur d’universitéenseignant en poste dans une université. Voir Q121594 pour le titre de Professeur et Q28004591 pour le grade de professeur des universités en France5656
wd:Q169470physicienscientifique étudiant la physique1584
wd:Q11063astronomescientifique spécialisé dans l’étude de l’astronomie1251
wd:Q82594informaticienscientifique travaillant dans le domaine de l’informatique1127
wd:Q4964182philosophepersonne pratiquant la philosophie825
Les 6 première lignes du tableau des résultats
Professions alternatives des mathématiciens de Wikidata, avec Bubble chart

3.8 Professions alternatives des mathématiciens nés au XVIIIème

Les historiens s’intéressent en général à une période précise de l’histoire comme par exemple le 18e siècle. Les professions, les enseignements et les savoirs mathématiques se montrent forts distincts à cette période, comme le montre par exemple l’article de l’historien Pierre Crépel.

  • Sur quelques crises locales des mathématiques au XVIIIe siècle, Pierre Crépel, 1999 : Lien

Avec SPARQL, un filtre peut être appliqué sur l’année de naissance afin d’extraire un ensemble de données. On obtient pour les mathématiciens nés au 18e 256 activités professionnelles distinctes en 28 secondes. Des professions comme informaticien, statisticien, cryptologue n’existent pas à cette époque. Les métiers disparus sont ceux d’explorateur, de calculateur humain, précepteur par exemple. Requête 11

# Activités professionnelles des mathématiciens nés entre 1700 et 1799
SELECT ?profession ?professionLabel ?professionDescription (COUNT(*) AS ?effectif)
WHERE {
  ?personne wdt:P106 wd:Q170790. #mathématicien
  ?personne wdt:P106 ?profession.
  ?personne wdt:P569 ?datesNaissance.
  BIND(YEAR(?datesNaissance) as ?anneeNaissance). 
  FILTER( ?anneeNaissance > 1699 && ?anneeNaissance < 1800)
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
GROUP BY ?profession ?professionLabel ?professionDescription
ORDER BY DESC(?effectif) ?profession
Professions alternatives des mathématiciens de Wikidata nés au 18e, avec Bubble chart

4. Requête fédérée

Finalement, option intéressante de la version 1.1 de SPARQL, le langage de requête rend possible l’interrogation des données contenues dans d’autres d’autres bases sémantiques du web. Cette possibilité est appelée « Requête fédérée ». Elle nécessite de disposer de quelques notions du modèle de donnée employé par la base distante.

Les identifiants du spectacle « Discours sur le bonheur », créé en 2010, et tiré du livre éponyme d’Emilie du Châtelet sont récupérés préalablement sur data.bnf.fr. Les contenus de la base sémantique de la BnF sont obtenus en remplaçant la clause « WHERE » par « SERVICE » dans la requête. On obtient via SPARQL et dans WDQS, 7 assertions sur ce spectacle. Requête 12.

# Requête fédérée : le spectacle "Discours sur le bonheur" à la BnF
SELECT DISTINCT ?p ?o {
  SERVICE <http://data.bnf.fr/sparql> {
    <http://data.bnf.fr/ark:/12148/cb423519481> ?p ?o .
  }
}
po
dct:created2011-01-17
<http://data.bnf.fr/ontology/bnf-onto/FRBNF>42351948
skos:prefLabelDiscours sur le bonheur / mise en scène de Pierre Humbert
<http://xmlns.com/foaf/0.1/focus><http://data.bnf.fr/ark:/12148/cb423519481#about>
rdf:typeskos:Concept
rdfs:seeAlso<https://catalogue.bnf.fr/ark:/12148/cb423519481>
dct:modified2013-01-30
Certaines des métadonnées du spectacle data.bnf.fr
  • Spectacle: Discours sur le bonheur, Paris (France) : Aire Falguière – 14-01-2010, sur data.bnf.fr : Lien
  • SPARQL/Federated query, Wikibooks, HenkvD : Lien
  • Comment interroger la Bnf et Wikidata avec Sparql ? Biblibre : Lien
  • SPARQL/Views – Label, Wikibooks, HenkvD : Lien
  • Wikidata:MOOC/Course outline : Le MOOC 2022 en français : Lien

Dans cette autres requête, les images associées au concept de « Bonheur », et référencées à la BnF, sont recherchées. L’URI du concept de « Bonheur » a été trouvé préalablement dans « data.bnf.fr ». Ne sont affichées, à l’aide de l’option « Image grid », que les images de la BnF référencées sur Wikimedia Commons : Requête 13

# Requête fédérée : images du concept "bonheur" référencées à la BnF
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT DISTINCT ?imageConcept {
  SERVICE <http://data.bnf.fr/sparql> {
    ?uriConcept skos:prefLabel "Bonheur"@fr.
    BIND(CONCAT(STR(?uriConcept), "#about") AS ?conceptString) .
    BIND(URI(?conceptString) as ?uriConceptAbout)  
    ?uriConceptAbout foaf:depiction ?imageConcept .
  }
}
Château de Cirey-sur-Blaise, un des lieux de résidence de Madame Du Châtelet (fréquenté aussi par Voltaire de 1733 à 1738), gravure en date de 1854, BnF : Lien

Plusieurs autres billets de ce blog abordent SPARQL, utilisé soit sur Wikidata, soit sur « data.bnf.fr », la base sémantique de la Bibliothèque nationale de France.

  • SPARQL et Wikidata. Partie 1 : les personnes : Lien
  • SPARQL et Wikidata. Partie 2 : images, cartes, frises chronologiques et graphes : Ce billet
  • La BnF et SPARQL. Partie 1 : les bases constitutives de Data : Lien

One Reply to “SPARQL et Wikidata. Partie 2 : images, cartes, frises chronologiques et graphes”

Laisser un commentaire