8617 mots, temps de lecture 46 minutes.

Sparkle signifie en anglais éclat, étincelle ou bien encore scintillement, pétillement, et SPARQL (SPARQL Protocol and RDF Query Language) ne manque pas d’attirer l’attention d’un vaste public amateur de données ouvertes, structurées et partagées. On remarquera le caractère récursif du nom du langage, petit clin d’œil aux fonctions récursives en mathématiques et en informatique. Fortement inspiré de SQL (Structured Query Language), le langage de requêtes SPARQL est spécifiquement dédié à l’interrogation des bases de données du type triplestore, orientées graphe. Le langage s’inscrit en prolongement d’une série de protocoles mis au point précédemment, parmi lesquels RDF (Resource Description Framework, 1999), RDFS (Resource Description Framework Schema, 2004), OWL (Web Ontology Language, 2004), en vue de promouvoir et formaliser les concepts du web sémantique (2004). Suite à une requête, le langage SPARQL fournit en réponse des comptages, des tableaux de données ordonnées, une variété de résultats correspondant exactement au contenu de la base. Mais différence d’usage importante, alors que SQL se montre réservé aux développeurs, SPARQL est conçu pour être accessible publiquement, depuis le point d’accès SPARQL de la base. N’importe qui peut interroger une base sémantique, comme par exemple Wikidata, DBpedia, DBpedia FR, data.bnf.fr, IdRef, etc. Un petit apprentissage se montre nécessaire.
Les données de Wikidata sont disponibles sous licence CC 3.0. Tout le monde peut se servir de ces informations pour alimenter des applications publiques, privées ou commerciales. Parce que les contenus sont conséquents et multilingues, l’initiative intéresse tout particulièrement les bibliothèques, les archives, les musées, la culture et les programmes de recherches. Des bibliothèques comme la BnF, ou bien l’ABES se servent de Wikidata comme d’un référentiel, tout comme une variété d’acteurs privés. Parmi les initiatives pionnières en France, il est possible de nommer les travaux menés dès 2017 par Shonagon (anonyme) et d’autres, dans le but de porter sur Wikidata les peintures de salles entières de la galerie du Louvre. Le British Museum se montre également actif. D’autres initiatives contribuent à diffuser une partie non négligeable du patrimoine des GLAM (Gallery, Library, Archives & Museum) sur le web. En France toujours, le groupe de travail GLAM de Wikidata se montre particulièrement actif. A noter par exemple à Nancy, le projet concerté « Musée des Beaux-Arts », dont l’objectif est de renseigner de manière raisonnée les notices de peintres dont les œuvres sont présentes en salle. Des opérations d’enrichissement spéciales sont organisées conjointement par les Archives municipales, le Musée des Beaux-Arts et la Bibliothèque Médiathèque de Nancy, comme par exemple l’opération 2023 « Graveurs lorrains« .
Ce billet est constitué de cinq parties qui vont vous permettre de comprendre le fonctionnement de Wikidata, de même que la syntaxe de SPARQL. La première partie présente des aspects historiques, informatiques et organisationnels de la base. La seconde partie revient à l’aide de divers exemples sur l’organisation des données dans Wikidata. SPARQL est abordé très progressivement dans la troisième partie. De nombreuses et plus complexes requêtes sur les personnes sont présentées dans la quatrième partie. La cinquième partie décrit quelques un des logiciels qui fonctionnent autour de Wikidata, formant ainsi une sorte d’environnement numérique dédié à l’exploration des données. La romancière Alice Ferney, pseudonyme, apprenons-nous dans sa notice, de Cécile Brossollet, de même que son livre Grâce et dénuement, paru en 1997, servent d’exemples et en quelque sorte de fil rouge à ce tutoriel sur SPARQL et Wikidata.
- Wikipédia:Historique de Wikipédia en français : Lien
- How to Link Your Institution’s Collections to Wikidata? : a short manual to a semi-automatic way of using the “archives at” property (P485), 2020, Bolliger, Stephanie et Al. : Lien
- Commons:Paris Musées : Lien
- Shonagon, Do-Zo : Lien
- Wikidata:WikiProject sum of all paintings/Collection/Museum of Fine Arts of Nancy : Lien
- Projet:GLAM Nancy : Lien
- Projet:GLAM_Nancy/Graveurs_lorrains_2023 : Lien


- A propos de Wikidata
- 1.1 Création de Wikidata
- 1.2 La pile des logiciels
- 1.3 Communautés et documentation
- 1.4 Principes des bases sémantiques, avec Bob et Alice
- Structure des données
- 2.1 IRI des entités et propriétés, avec émotion positive
- 2.2 La notice du livre Grâce et dénuement
- 2.3 Notices des propriétés, avec auteur ou autrice
- 2.4 Précisions sur les déclarations
- SPARQL
- 3.1 Wikidata Query Service
- 3.2 Syntaxe d’une requête SPARQL
- 3.3 Une première vraie requête
- 3.4 Une deuxième question
- Requêtes sur les personnes
- 4.1 Propriétés relatives aux personnes
- 4.2 Une seule personne
- 4.3 Personnes liées à une personne
- 4.4 Des listes de personnes
- Pour aller plus loin
- 5.1 Mémoriser des requêtes SPARQL avec LinkedWiki
- 5.2 Contribuer à Wikidata
- 5.3 Interroger d’autres bases du web de données
- 5.4 Suivre d’autres tutoriels
1. À propos de Wikidata
Financés par Wikimedia Deutschland, les développements de Wikidata débutent en 2012. Ils sont placés sous la direction conjointe de Denny Vrandečić et Markus Krötzsch. Parmi les membres du groupe initial, sont également recrutés John Erling Blad, Abraham Taherivand, Lydia Pintscher, Jens Ohlig, et d’autres.

1.1 Création de Wikidata
Le développement d’une base de donnée généraliste et conforme aux standards du web de données débute en 2012. Le financement initial d’un montant considérable de 1,3 million d’euros provient des dons de l’Allen Institute for Artificial Intelligence (organisme à but non lucratif lié à Microsoft), de la Gordon and Betty Moore Foundation (organisme basé à San Francisco), des moteurs de recherche Google et Yandex (moteurs fréquemment utilisés un peu partout et en Russie). Une échelle industrielle est visée : le fonctionnement de services commerciaux est attendu en retour. Avant d’investir dans Wikidata, Google avait lancé en version bêta en 2008 Knol, un projet d’encyclopédie participative, sans le succès escompté. La firme de Mountain View rachète en 2010 la base de connaissance collaborative Freebase. Celle-ci sert alors à l’élaboration en 2012 de son Google Knowledge Graph, accessible de nos jours à l’aide de son API, structuré à l’aide de Schema.org.
Wikidata résulte des travaux de la fondation Wikimedia Deutschland, débutés en 2012. De manière initiale, les contenus de la base proviennent des renseignements contenus dans les infobox de Wikipédia en version anglaise. Ces informations furent agrégées avec des données en provenance de la base Freebase, diffusée à partir de 2007 sous licence ouverte, rachetée par Google en 2012. A partir de 2013, Google embauche en tant qu’ontologiste Denny Vrandečić. Celui-ci quitte alors Wikidata Allemagne pour la Californie. Freebase est ensuite placé en domaine public en 2014.
Wikidata fait suite à une autre initiative voisine, DBpedia (Q465), débutée en 2007, elle aussi en Allemagne, de portée également internationale. Ce projet de base sémantique dérivée de Wikipédia se montre plus faiblement participatif, initialement conduit par l’Université de Leipzig, l’Université libre de Berlin ainsi que l’entreprise OpenLink Software. Les données sont moins ouvertes et organisées autrement.
Wikidata est une base participative multilingue et tout le monde peut en effet l’enrichir de manière libre. Un bref vocabulaire spécifique (glossaire multilingue) est employé. Ainsi, au terme français Élément, correspond l’anglais Item, et l’allemand Objekte. Le triplet sémantique canonique SPO (« Sujet« , « Prédicat« , « Objet« ), devient en français (« sujet« , « propriété« , « valeur« ) SPV; en anglais (« subject« , « property« , « value« ); en allemand (« Subjekt« , « Eigenschaft« , « Wert« ). Plus de 95 millions d’éléments – assurément sujet, possiblement valeur – et environ 9200 propriétés sont référencés dans Wikidata en 2021. En matière d’aspects juridiques (licences, droits de copie, plagiat) et éthiques, de règles éditoriales, Wikipédia de même que DBpedia et Wikidata obéissent à un ensemble de directives bien documentées.
- Knol beta, A unit of knowledge, 2008-2012 : Lien
- Freebase (database), 2007-2016 : Lien
- Denny Vrandečić, Research at Google, 2014 : Lien
- Wikidata: a free collaborative knowledgebase, 2014, Communications of the ACM, Denny Vrandečić , Markus Krötzsch : Lien
- From Freebase to Wikidata: The Great Migration, Denny Vrandečić et Al., 2016 : Lien
- Virtuoso Universal Server, OpenLink Software : Lien
- DBPedia Association : Lien
- Wikidata donne des ailes au savoir libre, Lydia Pintscher, 2019, moz://a : Lien
- Wikipédia:Principes fondateurs : Lien
- Wikipédia, Citez vos sources : Lien
- Wikipédia, Aide:Infobox Wikidata : page d’aide sur le fonctionnement des infobox : Lien
- Wikidata Personnes vivantes : Lien
- Wikidata Help:Copyrights : Lien
1.2 La pile des logiciels
Les serveurs de Wikidata pour l’Europe sont actuellement localisés aux Pays-Bas. La société suédoise Addshore d’Adam Shorland gère de nos jours plusieurs aspects du développement, documente l’architecture logicielle (Figure 1). Wikidata repose sur un ensemble de logiciels libres. Le moteur de wiki MediaWiki (Q83) est étendu à l’aide du plugin Wikibase (Q16354758). Il motorise l’accès aux notices de la base de connaissance.
Les fonctionnalités de triplestore de Wikidata sont assurées par le système open source Blazegraph (Q20127748), système de gestion de base de données orientée graphe, doublé d’un triplestore. Développée en javascript par la société néerlandaise Triply, l’interface web dédiée à la saisie des requêtes en SPARQL et à l’affichage des résultats, est nommée Yasgui (Yet Another SPARQL GUI, Q114893193). Cette application est diffusée en open source également. Triply diffuse par ailleurs un système de base de donnée sémantique propriétaire, ce qui permet à cette société de financer l’ouverture du code source.
Wikidata nomme Wikidata Query Service (WDQS) son interface d’interrogation basée et adaptée de Yasgui, personnalisée à l’aide de fonctionnalités de visualisation des données. Ainsi, les résultats de requêtes peuvent être vus sous forme de tableau, et en cas de requête adaptée, sous forme de graphe, de tableau d’images, de cartes, de frise chronologique, etc. Des aides et possibilités de mémorisation des requêtes à l’aide d’un système d’URLs courtes complètent les possibilités.
Wikidata est l’instance la plus connue du couple MediaWiki (logiciel) / Wikibase (module) / Yasgui (interrogation) mais n’est pas la seule. Ainsi, Wikibase motorise le projet linguistique Lingua Libre, de même que le projet de référencement de faits historiques essentiellement allemands FactGrid (Centre de Recherche de Gotha à l’Université d’Erfurt), le projet Europeana EAGLE (conduit par l’Istituto Italiano per la Storia Antica) de collecte des épigraphies latines et grecques européennes, ou bien encore et plus connu Open Street Map (cartographie collaborative).
En France, le projet Biblissima (observatoire du patrimoine écrit du Moyen Âge et de la Renaissance, Q105079519) reprend la même architecture logicielle. Des personnes physiques, des noms géographiques, des organisations, des cotes de manuscrits et imprimés médiévaux, de la renaissance à la Révolution, accessibles éventuellement en haute résolution, se trouvent ainsi référencés. Déclaré investissement d’avenir, le projet Biblissima+ prend le relai, pour les années 2021 à 2029, et rassemble en un même consortium 16 établissements (grandes écoles, universités).

- Wikibase : Lien
- Données structurées, la puissance de Wikidata au service de Wikimedia Commons, 2017, arbido, Rama Neko : Lien
- Wikidata Architecture Overview (diagrams), Addshore, 2018 : Lien
- Wikibase : Lien
- Wikibase/API/fr : Lien
- Blazegraph : Lien
- YASGUI, Triply, documentation : Lien
1.3 Communautés et documentation
Le fonctionnement de Wikidata repose sur un engagement participatif international, mené par plusieurs organismes et institutions à but non lucratif. Des rôles sont attribués à divers utilisateurs. L’association loi 1901 Wikimédia France apporte sa caution et soutient plusieurs initiatives spécifiquement françaises ou francophones, établit des partenariats et poursuit des activités de formation, participe aux événements. Des projets d’ampleur sont en effet menés par des organismes comme la BnF, l’ABES, les Archives nationales ou bien par des écoles, universités, par de simples particuliers aussi en vue d’une part d’enrichir et de rendre plus fiable Wikidata, d’autre part de prêter aux identifiants de Wikidata un rôle de référentiel internationalement fiable.
Les initiatives diverses sont documentées dans un ensemble de wikis nommés Wikiprojets. Les objectifs de ces groupes de contributeurs sont d’uniformiser les pratiques en matière d’usage des classes et propriétés, d’identifier des objectifs raisonnés d’enrichissement. Le nombre des participants varie grandement selon les groupes. Les échanges s’y trouvent documentés en anglais et parfois aussi en français. On trouve classiquement dans un Wikiprojet une liste des participants, certains décrivent leurs activités personnelles ou professionnelles, leurs centres d’intérêts ou leurs contributions. Des liens vers des sous-projets ou bien vers des images sous Wikimedia Commons, des articles sous Wikipédia peuvent être présents.
- Statistiques sur Wikidata et effectif des participants identifiés : Lien
- Wikimédia France : Lien
- Wikipédia, Projet:Archives nationales (France) : Lien
- Wikidata:Portail communautaire, fr : Lien
- Wikidata:WikiProjets, la hiérarchie des Wikiprojets : Lien
Une sélection de Wikiprojets, en relation avec les GLAM, en anglais et français :
- Wikidata:WikiProject Ontology : Lien
- Wikidata:WikiProjet métadonnées des références, fr : Lien
- Wikidata:WikiProject Biographical Identifiers : Lien
- Wikidata:WikiProjet Libre accès, fr : Lien
- Wikidata:WikiProject Biodiversity : Lien
- Wikidata:WikiProjet Taxinomie, fr : Lien
- Wikidata:WikiProject Philosophy : Lien
- Wikidata:WikiProject Medicine : Lien
- Wikidata:WikiProjet Physique, fr : Lien
- Wikidata:WikiProject Mathematics : Lien
- Wikidata:WikiProject Informatics : Lien
- Wikidata:WikiProject Maps : Lien
- Wikidata:WikiProject Maps/Historical map properties : Lien
- Wikidata:WikiProject Historical Place : Lien
- Wikidata:WikiProject Women : Lien
- Wikidata:WikiProject Archival Description : Lien
- Wikidata:WikiProjet Livres, fr : Lien
- Wikidata:WikiProject Periodicals : Lien
- Wikidata:WikiProjet Musique, fr : Lien
- Wikidata:WikiProjet Films/Propriétés, fr : Lien
- Wikidata:WikiProject Museum : Lien
- Wikidata:WikiProjet La somme de toutes les peintures, fr : Lien
- Wikidata:WikiProject sum of all paintings/Creator/Pierre-Auguste Renoir : Lien
- Wikidata:WikiProject sum of all paintings/Top collections by number of paintings : Lien
- Wikidata:WikiProject Applied arts : Lien
- Wikidata:WikiProject Education : Lien
- Wikidata:WikiProject Higher education : Lien
- Wikidata:WikiProject Occupations and professions : Lien
- Wikidata:WikiProject Citizen Science : Lien
- Wikidata:WikiProject Sustainable Development : Lien
- Wikidata:WikiProjet Entreprises, fr : Lien
- Wikidata:WikiProject Economics : Lien
- Wikidata:WikiProject Open Government Data : Lien
- Wikidata:WikiProject Law : Lien
- Wikidata:WikiProject France : Lien
- Wikidata:WikiProject France/Administrations : Lien
- Wikidata:WikiProject Periodicals
- Wikipedia:WikiProject Magazines
- Wikipedia:WikiProject Academic Journals
- etc

1.4 Principes des bases sémantique, avec Bob et Alice
Les principes des bases sémantiques sont les suivants : de vastes séries de triplets du type (« Sujet« , « propriété« , « Valeur« ) sont stockés dans des triplestores. Le Sujet (premier membre du triplet) désigne l’entité dont la description est souhaitée, la propriété désigne le champ descriptif appliqué au sujet et la Valeur contient selon les cas un attribut alphanumérique, un lien vers une autre entité de la base, un lien externe à la base. Trois exemples de triplets permettent de préciser cela : 1/ (« Bob« , « est âgé de (ans)« , « 29« ), 2/ (« Bob« , « connaît« , « Alice« ), 3/ (« Alice« , « est auteur de« , « Grâce et Dénuement« ). Dans ces trois assertions sur Bob et Alice, des éléments comme (« Bob« , « Alice », « Grâce et dénuement« ) sont Sujet, lorsque localisés en 1ère position, Valeur si localisés en 3ème position. Ainsi, « Bob » constitue le Sujet du premier et second triplet. « Alice » est Valeur du second et le Sujet du troisième triplet.
Dans Wikidata, les entités (Bob, Alice, Grâce et Dénuement) sont appelés Éléments. Les prédicats ou propriétés (« est âgé de (ans)« , « connaît« , « est auteur de« ) correspondent dans cet exemple semi-fictif à des caractéristiques qui apportent des renseignements factuels sur le Sujet. La formulation d’un seul triplet est appelée affirmation, assertion, ou bien encore proposition. Toutes les affirmations d’une base du web sémantique sont supposées vraies (en fait des erreurs et approximations peuvent être présentes). De plus, les Éléments comme les propriétés sont identifiés de manière unique et manipulés dans la base sémantique, non à l’aide de leur nom, mais identifiés par leur IRI (Internationalized Resource Identifier), une sorte d’URL particulière qui tient lieu d’identifiant unique dans la base sémantique. Avec Wikidata, on a par exemple dans le cas du triplet 3/ de notre exemple : (« Alice (Ferney) : http://www.wikidata.org/entity/Q2836569« , « est auteur de P50« , « Grâce et Dénuement (le roman) http://www.wikidata.org/entity/Q3118322« ). On précise ainsi que l’Alice dont il est question dans l’assertion n’est pas le personnage de fiction Alice, de Lewis Caroll, identifié quant à lui par Q1269082, mais Alice Ferney, le pseudonyme d’une romancière française, choisi précisément en référence au personnage de fiction. Dans une base de connaissance, les ambiguïtés sémantiques du langage courant doivent être formellement ôtées, et peuvent l’être de manière multilingue avec Wikidata.
La nature des Éléments (leur classe) se trouve précisée à l’aide d’une ou de plusieurs propriétés particulières de nature structurante. Par exemple, « Bob » et « Alice », « sont de la classe P31« , « être humain de valeur Q5« ; le roman Grâce et dénuement « est de la classe : P31« , « œuvre littéraire : Q7725634« . Nous voyons bien ainsi que « être de la classe » (« être du type« , « être une instance de« , « être de la catégorie« ) constitue une propriété tout à fait particulière. La classe de l’entité détermine la liste des autres propriétés qui se montreront pertinentes pour une description ultérieure. Ainsi, une entité de classe « œuvre littéraire » admet la propriété « date de publication : P212 » dont la valeur admise est une date, formulée de préférence en calendrier grégorien.
De plus, plusieurs triplets énoncés successivement rendent possible une forme de raisonnement logique fait d’inférences et de déductions. Des deux assertions 2/ (« Bob« , « connaît« , « Alice« ) et 3/ (« Alice« , « est auteur de« , « Grâce et Dénuement« ), on peut donc affirmer logiquement 4/ (« Bob« , « connaît / l’auteur de« , « Grâce et dénuement« ). Un personnage fictif qui s’appellerait Ève aurait ainsi la possibilité de poser une requête SPARQL sur une base sémantique, listant tous les livres dont les auteurs sont connus de Bob. Dans Wikidata, l’identifiant de Bob, Alice et Ève (Alice and Bob : Q649676, personnages fictifs utilisés généralement dans le cadre d’explications données dans le domaine de la cryptographie). Une façon de chercher les identifiants Wikidata d’Alice et Bob consiste à interroger le moteur de recherche simple de Wikidata, localisé en haut et à droite de la page d’accueil. Les notices Wikidata peuvent aussi être aisément retrouvées à l’aide d’un moteur (Google, Bing, etc), en posant la requête « Bob Alice Wikidata ».
2. Structure des données
Spécifique de Wikidata, la syntaxe des triplets est explorée à l’aide d’une variété d’exemples.
2.1 IRI des entités et propriétés, avec émotion positive
Dans Wikidata, l’URL des entités prend la forme « https://www.wikidata.org/wiki/Qxxx ». La lettre Q est suivie d’un numéro unique comme par exemple dans « https://www.wikidata.org/wiki/Q60539479« , émotion positive. Nécessaire à l’interrogation SPARQL, l’identifiant du type IRI se montre voisin, du type « http://www.wikidata.org/entity/Q60539479 ». Dans cet identifiant, on remarque l’usage du protocole http et du répertoire « /entity ». Une redirection est faite de l’IRI vers l’URL, lorsque celui-ci est appelé depuis un navigateur, si bien que l’on passe, de manière transparente pour l’utilisateur, de l’IRI à l’URL dans Wikidata.
Les propriétés sont identifiées par la lettre P suivie d’un numéro. La classe d’un élément est généralement donnée par la propriété P31 nature de l’élément (instance of) affiché en premier dans la page HTML d’une entité. P50 identifie la propriété auteur, qualifiant une œuvre textuelle ou autre. P106 (occupation en français) renseigne sur l’activité professionnelle d’une personne. Classée par domaine d’application, une liste des propriétés peut être recherchée. En matière d’ontologie, 9162 propriétés sont actuellement définies dans Wikidata. Ce nombre évolue par discussion entre experts. Ces propriétés rendent actuellement possible la description de 96 millions d’entités.
Le choix d’identifier les éléments et les propriétés à l’aide de numéros peu parlants répond dans un contexte massivement multilingue à plusieurs nécessités: 1/ Des concepts présents dans une langue peuvent ne pas exister dans une autre langue. Par exemple, le concept de « Geborgenheit » (Q1497087) n’existe qu’en Allemand. La Geborgenheit symbolise la proximité, la chaleur, le calme et la paix, le bien-être et la sécurité. L’expression est considérée comme intraduisible en français. Le choix d’un code semble judicieux pour une base renseignée en plus d’une centaine de langues. 2/ Certains intitulés se montrent polysémiques. La chanteuse « Céline Dion » (personne) sort en 1992 l’album « Celine Dion » (enregistrement audio) et des pages spéciales de wikidata autorisent la désambiguïsation. Globalement, les correspondances URL/IRI sont les suivantes :
- URL d’un élément (sujet ou éventuellement valeur) : https://www.wikidata.org/wiki/Q#
- IRI d’un élément : http://www.wikidata.org/entity/Q#
- URL d’une propriété : https://www.wikidata.org/wiki/Property:P#
- IRI d’une propriété : http://www.wikidata.org/prop/direct/P#
2.2 La notice du livre Grâce et dénuement
Chaque entité dispose de sa notice descriptive, affichant un ensemble de propriétés et de valeurs. Localisé en haut de page, un encart spécial affiche les libellés préférentiels (Label / Libellé), une brève description (Description), les libellés alternatifs (Also known as / Également connu comme) donnés en différentes langues, dont seule une partie est affichée par défaut.
Suivent ensuite dans la partie Statements traduit en français par Déclarations (les assertions) la liste des propriétés et des valeurs. La notice se termine par des liens vers les pages Wikipédia et les projets Wikimedias renseignés, de même que dans certains cas, des liens vers des référentiels.
Une notice est alors choisie pour servir d’exemple à cet article. Elle décrit simplement le roman Grâce et Dénuement (Q3118322) d’Alice Ferney. Parmi les déclarations placées sous le libellé, la propriété P31 « instance of / nature de l’élément » définit la classe de l’élément, de valeur œuvre littéraire (Q7725634), elle-même sous-classe de œuvre écrite (Q47461344). Le titre est défini en français par la propriété P1476.

2.3 Notices des propriétés, avec auteur ou autrice
Les notices descriptives des propriétés et des éléments se montrent organisées de manière similaire. On trouve tout d’abord les libellés, descriptions et libellés alternatifs en diverses langues. Le champs « Data type » / « Type de données » indique le type de valeur attendu en renseignement de la propriété. Parmi les valeurs possibles : Item (un autre élément), External identifier (identifiant externe), String (chaîne de caractères), Globe coordinate (coordonnées géographiques), Mathematical expression (expression mathématique), etc. Dans l’exemple P50 « auteur » admet « Item » (élément) comme contrainte. Cette contrainte se montre faible : un auteur qui ne serait pas déjà entré dans Wikidata peut être renseigné sous forme de simple chaîne de caractère, non sous forme d’IRI.

Les libellés alternatifs (AltLabel) français de P50 « auteur ou autrice » sont donc « romancier, nouvelliste, essayiste, écrivain, romancière, écrivaine, autrice, auteure, écrit par« . Pour P170 « créé par« , appellations alternatives « artiste, créatrice, créateur, peintre, sculpteur, photographe« , P57 « réalisateur ou metteur en scène« , P175 « interprète » se montrent également employés dans un contexte créatif. Ce type de propriétés se trouve documenté sur la page : List of properties/art.
L’importante propriété P31 « instance of » / « nature de l’élément » définit la classe de l’élément. Les classes elles-mêmes peuvent être structurées en sous-classes. Un arbre des classes peut ainsi être tracé à l’aide de la propriété P279 « sous-classe de« . On observe par exemple que la classe œuvre littéraire (Q7725634) est elle-même sous-classe de œuvre écrite (Q47461344) et liée à celle-ci par la propriété P279.

Les propriétés sont documentées de manière plus extensives avec « Property_talk ». Pour P50 auteur, on a : https://www.wikidata.org/wiki/Property_talk:P50.

- Catégorie:Page utilisant Wikidata par propriété (statistique sur les propriétés) : Lien
- Aide:Type de données : Lien
- Category:Properties by datatype : Lien
- Wikidata: Liste des propriétés : Lien
- Wikidata:List of properties/art : Lien
- Property Explorer : Lien
2.4 Précisions sur les assertions, sources, qualificatifs, rangs, dates
Des précisions supplémentaires peuvent être apportées sur les assertions et prendre la forme de « qualificatifs ». Une déclaration peut être qualifiée de plusieurs manières différentes : 1/ Celle-ci peut être sourcée à l’aide de références bibliographiques (article scientifique, livre, site web et autres). 2/ Des qualificatifs divers peuvent être ajoutés pour ajouter des précisions.

Pour un livre publié en plusieurs langues, comme par exemple Sense and Sensibility (anglais, 1811) de Jane Austen, les titres en diverses langues sont affichés en autant de valeurs de la même propriété – Raison et Sentiments (français), Le Cœur et la raison (français).
Autre exemple, on peut spécifier la date de début et de fin de prise de fonction d’une personne dans une organisation, de même que la personne précédente ou suivante dans les mêmes fonctions. 3/ Lorsqu’une propriété est multivaluée comme par exemple la propriété P40 child/enfants pour une personne, un rang peut être attribué à chacune des individus successivement nommés. 4/ La précision d’une date peut également être ainsi apportée et des renseignements comme « circa », « earliest date », « latest date », « refine date » ajoutent des nuances. On dit en jargon « web sémantique » que les assertions sont réifiées. Une assertion apporte une précision supplémentaire sur une assertion.
3. SPARQL
Une première version stable de SPARQL (1.0) est publiée en 2008, suivie de la version 1.1 stable en 2013. Développée par le « RDF Star Working Group » (RSWG), une version 1.2 se trouve actuellement encore à l’état de brouillon, n’est pas implémentée dans les triplestores actuels et devrait sortir en 2024, apportant de nouvelles fonctionnalités demandées par les communautés du domaine. Il est maintenant possible d’explorer l’interface dédiée à l’interrogation. Nommée « Wikidata Query Service » (Q20950365), elle rend possible la visualisation simultanée des requêtes et des résultats obtenus après lancement.
3.1 Wikidata Query Service (WDQS)
Wikidata SPARQL query service
La requête SPARQL est écrite dans le formulaire et lancée à l’aide de la flèche bleue en bas à gauche. Les résultats s’affichent sous la requête, par défaut sous forme d’un tableau de données.

En haut à gauche, le bouton « Exemples » donne accès à une liste de requêtes enregistrées par les utilisateurs.
Le service « Constructeur de requête » propose un formulaire d’assistance à la génération, en absence de connaissance sur SPARQL. On sélectionne par exemple dans Propriété et Valeur (« nature de l’élément », « manuscrit »), suivi du booléen ET et d’une deuxième assertion (« statut patrimonial » : « Mémoire du monde »). Lorsque la requête est lancée, une liste s’affiche, de 39 manuscrits déclarés par l’Unesco d’intérêt remarquable.
La requête SPARQL ainsi générée en arrière plan peut être copiée pour construire si nécessaire une requête plus complexe. De multiples formats d’export des résultats existent (HTML, XML, JSON, TSV, CSV, RDF, etc.).

3.2 Syntaxe d’une requête SPARQL
Les requêtes SPARQL intègrent des instructions SPARQL parfois appelées clauses et notées ici en majuscule et en rouge. # indique un commentaire. Notées ici avec un point d’interrogation en première position et en vert, des variables sont présentes en diverse parties de la requête.
Une première manière simple d’explorer des contenus est de se servir de DESCRIBE. La requête « DESCRIBE wd:Q3118322 » affiche les 50 triplets décrivant le roman : Lien
wd:Q3118322 | rdfs:label | Grâce et Dénuement |
wd:Q3118322 | schema:description | livre de Alice Ferney |
wd:Q3118322 | schema:description | roman van Alice Ferney |
Les requêtes SPARQL sont construites en commençant par a/ la clause PREFIX facultatif, suivi de b/ SELECT obligatoire, c/ WHERE facultatif, et se termine éventuellement par un ou plusieurs modificateurs facultatifs : LIMIT, ORDER BY, GROUP BY, HAVING, OFFSET, BINDINGS.
a/ PREFIX : L’instruction PREFIX permet de déclarer un espace de nom sous forme abrégée. Les IRI d’une requête sont écrits au choix de manière longue ou abrégée. Ainsi, le sujet Q1 « univers » peut être noté dans SPARQL « <https://www.wikidata.org/entity/Q1> » ou bien « wd:Q1 » avec le préfixe wd déclaré en début de requête.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wds: <http://www.wikidata.org/entity/statement/>
PREFIX wdv: <http://www.wikidata.org/value/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
PREFIX bd: <http://www.bigdata.com/rdf#>
- SPARQL, Prefixes, Wikibooks, HenkvD : Lien
- Wikibase/Indexing/RDF Dump Format/Full_list_of_prefixes : Lien
b/ SELECT : La clause SELECT spécifie essentiellement les variables à afficher en sortie. La valeur étoile (*) affiche toutes les variables présentes dans WHERE. La clause DISTINCT enlève les doublons des réponses dans lesquelles une même propriété serait renseignée plusieurs fois. Trois exemples d’usage de SELECT :
SELECT ?sujet ?propriete ?valeur # Sélection des variables à afficher
SELECT * # Afficher toutes les variables
SELECT DISTINCT * # Affiche une seule valeur de variable
- SPARQL, SELECT, Wikibooks, HenkvD : Lien
c/ WHERE : L’instruction WHERE contient entre parenthèses un ou plusieurs motifs de triplets de la forme générale « ?sujet ?propriete ?valeur . » placés les uns à la suite des autres. Chaque motif de triplet ajouté restreint les données affichées de sorte que deux motifs qui s’ensuivent sont compris comme un ET logique. Les données affichées correspondent à celles qui satisfont les conditions du premier et du second triplet. Chaque motif de triplet se termine par un point.
Sept catégories de questions se montrent combinatoirement possibles en foction du positionnement de la variable ou des variables dans un triplet sémantique. Trois de ces catégories sont ici choisies et commentées à l’aide de l’exemple (Q3118322 « Grâce et Dénuement« , P31 « nature de l’élément« , Q47461344 « œuvre écrite« ). La position des variables se montre significative de la question posée en langage naturel.
- Variable en troisième position. Un exemple de motif recherché serait « WHERE {wd:Q3118322 wdt:P31 ?valeur .} ». On pose ainsi la question des valeurs attribuées à un sujet et à une propriété connue. Cela correspond autrement dit à la question « Lister les classes de l’item Grâce et dénuement » (wd:Q3118322).
- Variable en première position. Exemple : « WHERE {?sujet wdt:P31 wd:Q47461344.} ». Question des items correspondant à des conditions et des valeurs connues. Le motif répond à la requête « Quels sont les items de la classe « œuvre écrite« .
- Variable en deuxième et troisième position. Exemple : « WHERE {wd:Q3118322 ?propriete ?valeur.} ». La question des couples propriété / valeur d’un item connu est posée. Le motif de triplet correspond à la requête : « Quel est l’ensemble des couples propriété / valeur de l’élément sujet Grâce et dénuement« .
- Wikidata:Service de requête SPARQL/Aide sur le service de requête de Wikidata : Lien
- SPARQL Protocol and RDF Query Language, WIKIVERSITE, par Karima Rafes : Lien
3.3 Une première vraie requête
Commençons par une question stupide, si vous le voulez bien (mais comprise par toute base sémantique quelque soit l’ontologie qui structure ses données) : 10 triplets quelconques de Wikidata sont recherchés. Requête 3.2 :
# Recherche de 10 triplets quelconques, requête 3.1.1
SELECT ?sujet ?propriete ?valeur # Sélection des variables à afficher
WHERE {
?sujet ?propriete ?valeur. # Chercher un triplet quelconque, motif de triplet
}
LIMIT 10 # Limiter à 10 les résultats affichés
L’instruction SELECT en rouge précise les variables à afficher. Dans WHERE, un point conclut le motif de triplet. L’instruction LIMIT en fin de requête restreint l’affichage aux 10 premiers triplets. # indique un commentaire. On a donc en réponse à cette requête un tableau de 3 colonnes (3 variables dans SELECT) et 10 lignes (à cause de LIMIT). Seules les 3 premières lignes sont reproduites ci-dessous. On remarque que le nom des colonnes correspond au nom des variables sans le point d’interrogation et que les résultats contiennent des liens et des valeurs textuelles.
3.4 Une deuxième question
Quels émotions positives sont référencées dans Wikidata ? Une requête sur les instances P31 de la classe Q60539479 « émotion positive » est posée. L’IRI de l’émotion de même que le libellé en français sont recherchés. Les deux premières lignes du bloc WHERE correspondent à deux conditions (deux motifs de triplets) qui doivent être toutes les deux satisfaites. Le traitement de la troisième ligne permet la récupération du libellé français du Q élément uniquement. Requête 3.4 :
# Recherche d'émotions positives, requête 3.4
SELECT ?sujet ?label # Sélection des variables à afficher
WHERE {
?sujet wdt:P31 wd:Q60539479. # entités "émotions positives"
?sujet rdfs:label ?label. # libellés en toutes langues
FILTER(LANGMATCHES(LANG(?label), "fr")) # libellés en français seulement
}
LIMIT 10 # limiter à 10 items
- SPARQL FILTER, Wikibooks, HenkvD : Lien
sujet | label |
---|---|
wd:Q8 | bonheur |
wd:Q190507 | espoir |
wd:Q203994 | euphorie |
Nous pouvons maintenant explorer la structure graphique du « bonheur ». Une loupe se trouve présente dans WDQS à gauche de wd:Q8 dans la colonne « sujet ». L’indication « Explore item » s’affiche en survol. On clique et on obtient le graphe interactif suivant (Figure 4). Cool un petit bonheur !

4. Requêtes sur les personnes
Dans Wikidata, les personnes sont nommées de manière unique dans la base, pour chaque langue renseignée. Des noms alternatifs peuvent être présents. Les effectifs comprennent actuellement 9,31 millions d’individus de toutes nationalités, de toutes époques, décrits en plus de 130 langues, ce qui représente 8,9 % des contenus de Wikidata.
4.1 Propriétés relatives aux personnes
Des gabarits pour les Infobox de Wikipédia, de même qu’un Wikiprojet dédié fournissent des renseignements. Il est recommandé de se référer à des listes d’autorités pour identifier et normaliser la notation des noms.
- Template:Person properties : Lien
- Template:France properties : Lien
- Wikidata:WikiProjet Noms/Propriétés : Lien
Certaines propriétés relatives aux personnes se montrent fréquemment renseignées.
- Espace : des informations comme P19 « lieu de naissance« , P20 « lieu de mort« , P119 « lieu de sépulture« , P69 « scolarité« , P551 « résidence« , P485 « archivé par » apportent des informations de géolocalisation.
- Temps : de nombreuses requêtes menées sur les personnes concernent les dates : P569 « date de naissance« , éventuelle P570 « date de mort« , date de candidature P3602 « candidat à l’élection« , date de début et de fin de fonction en qualifiquatif.
- Activité : P101 « domaine d’activité« , P106 « occupation« , P463 « membre de« , P39 « fonction« , date de P166 « distinction reçue« . Des classes et sous-classes définissent les activités et peuvent servir d’élément factuel en vue d’établir une biographie.
4.2 Une seule personne
Tous les renseignements de Wikidata concernant la romancière Alice Ferney sont recherchés avec SPARQL. « SELECT * » signifie que toutes les variables présentes dans WHERE sont affichées. L’instruction WHERE contient deux motifs successifs de sujet identique et terminés par un point. Le premier (?sujet rdfs:label « Alice Ferney »@fr.) sélectionne tous les triplets dont le libellé préférentiel (rdfs:label) contient en français Alice Ferney. Le deuxième motif (?sujet ?propriete ?valeur.) permet l’affichage de l’IRI des propriétés et des valeurs. Requête 4.2.1 :
# Triplets relatifs à l'auteure "Alice Ferney", requête 4.2.1
SELECT * WHERE {
?sujet rdfs:label "Alice Ferney"@fr.
?sujet ?propriete ?valeur.
}
sujet | propriete | valeur |
---|---|---|
wd:Q2836569 | wdt:P1207 | n2003086874 |
wd:Q2836569 | wdt:P1412 | wd:Q150 |
wd:Q2836569 | wdt:P1477 | Cécile Brossollet |
Alice Ferney est décrite dans Wikidata à l’aide de 148 triplets dont les trois premiers sont ici affichés. On remarque dans la liste complète des résultats les préfixes wd (sujet et valeur), wdt, wdtn, « schema:description », « rdfs:label », « skos:altLabel » (propriété) qui renseignent sur les ontologies et propriétés utilisées. Les noms alternatifs d’Alice Ferney : Cécile Brossollet et Cécile Brossollet Gavriloff sont mentionnés. Une image en accès libre localisée sous Wikimédia Commons se trouve en valeur de P18 « image« .
Un affichage alternatif de cette collection de triplet correspond à la page https://www.wikidata.org/wiki/Q2836569. On remarque au passage les identifiants dans les catalogues de diverses bibliothèques numériques et physiques. Il est possible en particulier de noter la présence des identifiants internationaux VIAF, ISNI et WorldCat (codes internationaux normalisés des personnes et organismes), l’identifiant IdRef du SUDOC, BnF ID. Le Knowledge Graph de Google /g/12nx4kdnx de même que d’autres sites web fournissent des renseignements complémentaires.
Une notation alternative de WHERE est souvent employée dans les requêtes. La variable ?sujet est présente plusieurs fois en début de motif. Elle peut être omise sur la deuxième ligne si le premier triplet se conclut par « point-virgule », en lieu et place de « point ».
# Triplets relatifs à l'auteure "Alice Ferney", requête 3.2.2
SELECT * WHERE {
?sujet rdfs:label "Alice Ferney"@fr;
?propriete ?valeur.
}
Dans cette autre requête, les propriétés P1559 « nom dans la langue maternelle de la personne« , P268 « identifiant Bibliothèque nationale de France« , P269 « identifiant IdRef » et P69 « scolarité » sont recherchées. Quatre motifs de triplets sont écrits, correspondant à quatre lignes dans la clause WHERE qui partagent tous le même sujet.
# noms et identifiants d'Alice Ferney, requête 3.2.3
SELECT * WHERE {
wd:Q2836569 wdt:P1559 ?nom;
wdt:P268 ?id_bnf;
wdt:P269 ?idref;
wdt:P69 ?scolarite.
}
nom | id_bnf | idref | scolarite |
---|---|---|---|
Alice Ferney | 12947466j | 056544731 | wd:Q273518 |
Alice Ferney | 12947466j | 056544731 | wd:Q273642 |
La réponse contient deux lignes car la variable ?scolarite contient deux valeurs : Q273518, « École des hautes études en sciences sociales » et Q273642 « École supérieure des sciences économiques et commerciales ».
Nous faisons appel dans la requête suivante au service « wikibase:label » de Wikidata. Spécifique de Wikidata, ce service facilite l’accès à un ensemble de variables descriptives supplémentaires. Dans la partie SELECT, Les variables réservées « ?scolariteLabel« , « ?scolariteDescription« , « ?scolariteAltLabel » deviennent disponibles du fait de l’ajout dans le bloc WHERE de l’instruction de la troisième ligne « SERVICE wikibase:label ».
- en.wikibooks SPARQL/SERVICE – Label : Lien
# scolarité d'Alice Ferney, requête 3.2.4
SELECT ?nom ?scolarite ?scolariteLabel ?scolariteDescription ?scolariteAltLabel
WHERE {
wd:Q2836569 wdt:P1559 ?nom;
wdt:P69 ?scolarite.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
nom | scolarite | scolariteLabel | scolariteDescription | scolariteAltLabel |
---|---|---|---|---|
Alice Ferney | wd:Q273518 | École des hautes études en sciences sociales | école supérieure en sciences humaines et sociales | École des Hautes Études, École des Hautes Etudes en Sciences Sociales, École des Hautes Études en Sciences Sociales, École Pratique des Hautes Etudes en Sciences Sociales, École pratique des hautes études VIe section, EHESS |
Alice Ferney | wd:Q273642 | École supérieure des sciences économiques et commerciales | Grande école de commerce française | Ecole superieure des sciences economiques et commerciales, ESSEC, Institut des sciences économiques et commerciales de Paris |
Notice d’autorité d’Alice Ferney en français : La requête suivante permet l’affichage en français de la notice d’autorité d’Alice Ferney (ou de toute autre personne de Wikidata en modifiant l’identifiant Q# présent en deux endroits de la requête). Requête 3.2.1.6 :
# Notice d'autorité d'Alice Ferney Q2836569 3.2.6
PREFIX entity: <http://www.wikidata.org/entity/>
SELECT ?propUrl ?propLabel ?valUrl ?valLabel ?picture
WHERE
{
hint:Query hint:optimizer 'None' .
{ BIND(entity:Q2836569 AS ?valUrl) . # définition de la propriété varUrl
BIND("N/A" AS ?propUrl ) .
BIND("identity"@fr AS ?propLabel ) .
}
UNION
{ entity:Q2836569 ?propUrl ?valUrl .
?property ?ref ?propUrl .
?property rdf:type wikibase:Property .
?property rdfs:label ?propLabel
}
?valUrl rdfs:label ?valLabel
FILTER (LANG(?valLabel) = 'fr') .
OPTIONAL { ?valUrl wdt:P18 ?picture .}
FILTER (LANG(?propLabel) = 'fr' )
}
ORDER BY ?propUrl ?valUrl
LIMIT 200
propUrl | propLabel | valUrl | valLabel | picture |
---|---|---|---|---|
wdt:P103 | langue maternelle | wd:Q150 | français | |
wdt:P106 | occupation | wd:Q1914832 | maître de conférences | |
wdt:P106 | occupation | wd:Q36180 | écrivain | commons:Kusakabe Kimbei – Writing Letter (large).jpg |
wdt:P108 | employeur | wd:Q13334 | université d’Orléans | commons:Orléans – parc floral (28).jpg |
wdt:P184 | directeur de thèse | wd:Q1001839 | François Bourguignon |
4.3 Personnes liées à une personne
Plusieurs personnes se trouvent fréquemment liées par un réseau de propriétés. Nous allons ici explorer la direction de thèse d’Alice Ferney et l’homonymie du nom de famille.
4.3.1 Directeur de thèse : François Bourguignon a dirigé la thèse d’Alice Ferney et nous souhaitons connaître les noms des docteurs dirigés par cet économiste disparu en 2018, de même que celui des doctorants ayant eux-mêmes formé des docteurs. Ceci est donné par la propriété P184 « directeur de thèse« . Le champ P569 « date de naissance » est demandé avec la condition OPTIONAL car rarement renseigné. On trouve ainsi 19 docteurs formés par François Bourguignon, ou par des diplômés devenus eux-mêmes directeurs de thèse.
# doctorants dirigés par François Bourguignon et docteurs de deuxième génération
SELECT ?etudiant ?etudiantLabel ?etudiantDescription ?datenaissance
WHERE {
wd:Q2836569 wdt:P184 ?directeur.
?etudiant wdt:P184* ?directeur.
OPTIONAL {?etudiant wdt:P569 ?datenaissance.}
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
4.3.2 Recherche de personnes portant le nom de famille « Ferney ». Nous allons dans cette série de requêtes montrer plusieurs manières de poser la même question et introduire la notion de chemin de propriété correspondant à l’implémentation de l’inférence dans SPARQL. La propriété P734 « nom de famille » permet de fabriquer un motif de triplet qui affiche les personnes portant le même patronyme.
# Personnes portant le nom de famille "Ferney", requête 4.3.2
SELECT ?personne ?personneLabel ?personneDescription WHERE {
?personne wdt:P734 wd:Q36872846;
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Une autre méthode sans la recherche manuelle, mais avec une variable intermédiaire nommée « ?nomid ». Le libellé « Ferney » en français est recherché en lieu et place de l’identifiant d’Alice Ferney :
# Personnes portant le nom de famille "Ferney", requête 3.2.3.2bis
SELECT ?personne ?personneLabel ?personneDescription WHERE {
?personne wdt:P734 ?nomid.
?nomid rdfs:label "Ferney"@fr.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
La variable intermédiaire peut être omise en spécifiant non pas une propriété simple mais un chemin de propriété (une inférence) avec l’instruction « / ». Des métacaractères comme « /, +, *, | » permettent de chercher des triplets ne possédant pas une seule propriété simple mais un chemin de propriété, ce qui permet d’élargir les questions et nombres de réponses. Requête 4.3.b. Deux personnes homonymes sont trouvées Alice et Liam Ferney sans relation entre elles apparemment :
- SPARQL/Property paths, Wikibooks, HenkvD : Lien
- Nouveautés de SPARQL 1.1, les chemins, Julien Plu, 2012 : Lien
# Personnes portant le nom de famille "Ferney", requête 3.2.3.2ter
SELECT ?personne ?personneLabel ?personneDescription WHERE {
?personne wdt:P734/rdfs:label "Ferney"@fr.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
personne | personneLabel | personneDescription |
---|---|---|
wd:Q2836569 | Alice Ferney | écrivaine française |
wd:Q15502990 | Liam Ferney | poète australien |
Le graphe d’Alice Ferney sur Wikidata, visualisé avec Explorer :

4.4 Des listes de personnes
Nous allons dans cette dernière série de requêtes afficher des listes de personnes simples ou bien satisfaisant un ou plusieurs critères de recherche.
4.4.1 Des personnalités de Wikidata au hasard, avec affichage du libellé, de la description et des noms alternatifs sont recherchées. Le nom de 10 personnes de la classe Q5 « être humain » est affiché.
# Recherche de 10 personnes avec nom, description, noms alternatifs, requête 4.4.a
SELECT ?sujet ?sujetLabel ?sujetDescription ?sujetAltLabel
WHERE {
?sujet wdt:P31 wd:Q5.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
LIMIT 10
sujet | sujetLabel | sujetDescription | sujetAltLabel |
---|---|---|---|
wd:Q838 | Andreï Roublev | moine et peintre d’icônes russe du XVe siècle | |
wd:Q839 | Georgina Cassar | gymnaste de Gibraltar | |
wd:Q845 | Pedro Aguirre Cerda | homme politique du Chili (1879-1941) | |
wd:Q848 | Arturo Alessandri Palma | homme politique du chili (1868-1950) | |
wd:Q849 | François Villon | poète français (1431-1463) | Francois Villon, François de Moncorbier, François de Montcorbier |
Lien vers la requête (temps d’attente parfois élevé) : Lien
4.4.2 Philosophes nés entre 1880 et 1900 : Les philosophes nés à l’issue du 19ème et les sociétés auxquelles ils ont appartenu sont ici recherchées. L’instruction OPTIONAL permet de récupérer les philosophes qui ne sont membres d’aucune académie. Parmi les personnalités connues Pierre Boutroux, Pierre Teilhard de Chardin, Louis Rougier, Louis de Broglie, Alexandre Koyré, Marcel Duchamp, Jean Rostand. On remarque les sociétés « Ouvroir de littérature potentielle », « Collège de ‘Pataphysique ». 165 entrées correspondant à 90 personnes uniques sont retrouvées.
# Philosophes français nés entre 1880 et 1900 et sociétés de philosophie, requête 4.4.b
SELECT ?sujet ?sujetLabel ?paysLabel ?membre_deLabel ?datenaissance ?genreLabel
WHERE {
?sujet wdt:P106 wd:Q4964182. #occupation : Philosophe
?sujet wdt:P27 wd:Q142. #pays de citoyenneté: France
?sujet wdt:P27 ?pays.
OPTIONAL{?sujet wdt:P463 ?membre_de.} # membre de
OPTIONAL{?sujet wdt:P569 ?datenaissance.}
OPTIONAL{?sujet wdt:P21 ?genre.} # genre
FILTER("1880-01-01"^^xsd:dateTime <= ?datenaissance && ?datenaissance < "1900-01-01"^^xsd:dateTime). # date de naissance
SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" .}
}
ORDER BY ?datenaissance
sujet | sujetLabel | paysLabel | membre_deLabel | datenaissance | genreLabel |
---|---|---|---|---|---|
wd:Q2898000 | Bernard Groethuysen | France | 9 janvier 1880 | masculin | |
wd:Q2898000 | Bernard Groethuysen | Allemagne | 9 janvier 1880 | masculin | |
wd:Q3185736 | Joseph Vialatoux | France | 2 juillet 1880 | masculin | |
wd:Q1399119 | Pierre Boutroux | France | 6 décembre 1880 | masculin | |
wd:Q2847743 | André Fauconnet | France | 17 février 1881 | masculin | |
wd:Q189564 | Pierre Teilhard de Chardin | France | Académie des sciences | 1 mai 1881 | masculin |
4.4.3 Agrégation avec GROUP BY et GROUP_CONCAT
Bernard Groethuysen possède une double nationalité si bien que deux lignes différentes renseignent les deux valeurs de paysLabel. Il serait intéressant de n’avoir qu’une ligne par personne, que tous les champs répétés (dates, activités professionnelles, nationalités) soient affichés de manière concaténée. Une requête gourmande en puissance de calcul pour le serveur doit être lancée. Le temps d’obtention de la réponse peut se montrer important. La requête est susceptible de ne pas aboutir dans les temps impartis au niveau serveur. La syntaxe fait intervenir des fonctions d’agrégation : Requête 4.4.c
# Philosophes nés entre 1880 et 1890
SELECT
?sujet
(SAMPLE(?anneeValeur) AS ?dateNais)
?sujetNom ?sujetDescription
(GROUP_CONCAT(DISTINCT ?occupationNom;separator=", ") AS ?professions)
(GROUP_CONCAT(DISTINCT ?paysNom;separator=", ") AS ?pays)
WHERE {
?sujet wdt:P106 wd:Q4964182. #occupation philosophe
?sujet wdt:P106 ?occupation. #toutes les occupations
?sujet wdt:P27 ?pays. #pays de citoyennté
?sujet wdt:P569 ?dateN. #annee nais format date
BIND(REPLACE(STR(?dateN), 'T.*', '') AS ?annee) # annee au format chaine
FILTER("1880-01-01" <= ?annee && ?annee < "1891-01-01").
SERVICE wikibase:label {
bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en".
?sujet rdfs:label ?sujetNom .
?sujet schema:description ?sujetDescription .
?pays rdfs:label ?paysNom .
?occupation rdfs:label ?occupationNom .
?annee rdfs:label ?anneeValeur . # annee nais format libellé
}
}
GROUP BY ?sujet ?sujetNom ?sujetDescription
ORDER BY ?dateNais
Si la requête est lue du bas vers le haut, le modificateur « GROUP BY » crée une agrégation sur le sujet et ses variables dérivées « ?sujet ?sujetNom ?sujetDescription ». Les libellés (?sujetNom ?paysNom ?occupationNom ?anneeValeur) sont recherchés à l’aide du service « SERVICE wikibase:label ». La clause « BIND » permet d’afficher l’année de naissance au format AAAA-MM-JJ à partir de la date complète et de l’affecter à la variable ?annee au format « chaîne de caractère ». Dans SELECT, les instructions « GROUP_CONCAT » en début de requête permettent la concaténation des champs multivalués. « SAMPLE » permet de n’afficher qu’une date de naissance. Les dates de naissance peuvent varier selon la langue des articles Wikipédia qui décrivent le même sujet.
Dans notre cas et en 2021, la requête fournit (en étant patient) 648 résultats paginés par défaut par groupe de 200. L’agrégation demande un temps de calcul important et il est fortement déconseillé de lancer ce type de requête sur des ensembles de plusieurs milliers de résultats.
Les possibilités d’exploration du corpus incluent un tri par champs de même qu’une recherche à l’aide d’un formulaire localisé en haut du tableau à droite. Nous cherchons « France » et 58 résultats s’affichent. Les résultats dans leur ensemble peuvent être téléchargés au format CSV et une manipulation des données à l’aide d’un tableur se montre possible. Il devient finalement relativement aisé d’en savoir plus sur le philosophe franco-allemand Bernard Groethuysen, ou bien de modifier quelque peu cette requête pour aborder un tout autre sujet.
- Wikidata:SPARQL query service/queries/examples/human/fr : Lien
- en.wikibooks SPARQL/Aggregate functions : Lien
- en.wikibooks SPARQL/Expressions and Functions : Lien
sujet | dateNais | sujetNom | sujetDescription | professions | pays |
---|---|---|---|---|---|
wd:Q2898000 | 1880-01-09 | Bernard Groethuysen | sociologue et philosophe allemand du XXe siècle | écrivain, traducteur, professeur d’université, philosophe, historien de la littérature | France, Allemagne |
wd:Q3185736 | 1880-07-02 | Joseph Vialatoux | philosophe français | philosophe | France |
wd:Q1399119 | 1880-12-06 | Pierre Boutroux | mathématicien français et historien des sciences | professeur, mathématicien, philosophe | France |
wd:Q2847743 | 1881-02-17 | André Fauconnet | French philosopher and writer | écrivain, philosophe | France |
wd:Q189564 | 1881-05-01 | Pierre Teilhard de Chardin | prêtre jésuite, théologien, philosophe, paléontologue, anthropologue et géologue français (1881-1955) | théologie, écrivain, prêtre catholique, géologue, paléontologue, philosophe, paléoanthropologue, scientific collector | France |
4.4.4 Des philosophes français populaires nés entre 1880 et 1890 sont ensuite recherchés. On considère dans cet exemple que les philosophes les plus connus internationalement sont ceux qui ont le plus d’articles Wikipédia, rédigés en différentes langues. La liste obtenue doit être lue de manière critique, car tous les membres ne peuvent être considérés comme « philosophe », ayant soutenu une thèse dans cette discipline. Wikidata peut fournir des données pour alimenter des bases plus spécialisées.
SELECT ?sujet ?sujetLabel ?annee (COUNT (?articles) AS ?celebrite)
WHERE {
?sujet wdt:P106 wd:Q4964182. #occupation philosophe
?sujet wdt:P27 wd:Q142. #pays de citoyenneté: France
?sujet wdt:P569 ?dateN. #annee nais format date
BIND(REPLACE(STR(?dateN), 'T.*', '') AS ?annee) # annee au format chaine
FILTER("1880-01-01" <= ?annee && ?annee < "1891-01-01").
?articles schema:about ?sujet. #article wikipedia
SERVICE wikibase:label {
bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en".
}
}
GROUP BY ?sujet ?sujetLabel ?annee ?celebrite
ORDER BY DESC (?celebrite)
sujet | sujetLabel | annee | celebrite |
---|---|---|---|
wd:Q5912 | Marcel Duchamp | 1887-07-28 | 84 |
wd:Q224029 | André Maurois | 1885-07-26 | 73 |
wd:Q189564 | Pierre Teilhard de Chardin | 1881-05-01 | 65 |
wd:Q154145 | Gabriel Marcel | 1889-12-07 | 59 |
wd:Q270800 | Gaston Bachelard | 1884-06-27 | 55 |
5. Pour aller plus loin
5.1 Mémoriser des requêtes SPARQL avec LinkedWiki
LinkedWiki est développé par Karima Rafes du Center for Data Science de l’Université Paris-Saclay. La plateforme se base sur l’extension LinkedWiki de MediaWiki. Cette base de données répertorie 136 points d’accès SPARQL et 1079 requêtes en 2021. Il est possible depuis cette plateforme d’explorer les requêtes mémorisées, de les lancer et de visualiser les résultats dans l’interface du site. Des vues sous forme de tableau, de carte géographique ou choroplèthe, de camembert, de frise chronologique, de diagramme à barre, sont possibles.
Un moteur de recherche à facettes permet d’explorer la diversité des questions posées, de les ordonner par popularité. Les questions servent en aval à alimenter des outils d’auto-complétions disponibles sur le site LinkedWiki. Un plugin dédié à l’extension des fonctionnalités de plusieurs éditeurs de textes est également publié. Tout le monde peut mémoriser des requêtes sur LinkedWiki. Il est possible en cas d’inscription de mémoriser des requêtes accessibles de manière privée uniquement.
- LinkedWiki, requêtes Sparql posées sur Wikidata : Lien
- LinkedWiki, philosophes nés entre 1880 et 1890 dans Wikidata : Lien
- LinkedWiki, Personnes récompensées en évolution et préservation de l’environnement : Lien
5.2 Contribuer à Wikidata
Pour ajouter une déclaration dans Wikidata, connectez-vous de préférence, pour garder une trace de vos pertinentes modifications. Aller sur l’élément de Wikidata correspondant à un article en cliquant sur « Modifier les liens ». Dans la section Déclarations, cliquer sur ajouter. Il faut alors choisir la propriété, c’est-à-dire le type de donnée que vous voulez insérer. Écrire ensuite le nom d’un élément et enregistrer. On peut par exemple utiliser la propriété « lieu de naissance » et ajouter « Fontenay-sous-Bois » à l’élément « André Fauconnet ».
La nature des valeurs peut être un lien vers un autre élément, vers un contenu de Wikimedia Commons (une image, un son, une vidéo), une chaîne de caractères (strings) comme l’ISBN, le VIAF. Des contraintes permettent d’améliorer la qualité. Des outils particuliers permettent de prévenir le vandalisme et d’identifier l’adresse IP d’éventuelles personnes malveillantes. Il est également possible d’ajouter des jeux de données structurées dans Wikidata. Quelques précautions s’avèrent toutefois nécessaires pour qu’un traitement programmé se montre réussi. Les membres de la base sémantique fournissent des aides.
- Wikidata:WikiProject Datasets : Lien
- Wikidata:WikiProject Datasets/Data Structure/Recommendations on datasets that serve as sources for data ingestion in Wikidata : Lien
- Wikidata:Aide:Liste de suivi : Lien
- Wikidata:Bistro : Lien
- Building automated vandalism detection tools for Wikidata, 2017, Amir Sarabadani, Aaron Halfaker, Dario Taraborelli : Lien

Des fonctionnalités particulières rendent possible l’enrichissement de la médiathèque Wikimedia Commons à l’aide d’identifiants Wikidata. Des données descriptives peuvent par exemple être ajoutées à une image. Il est possible de sélectionner sous l’image en vue détaillée l’onglet « Structured data » et d’ajouter à l’aide du formulaire les éléments appropriés. Un moteur de recherche permet de sélectionner les entités présentes dans une liste. L’image d’un catalogue de bibliothèque se voit ainsi enrichie de la déclaration (« depicts », « library catalog »). L’interface de Wikimedia Commons n’est pour l’instant disponible qu’en anglais.

5.3 Interroger d’autres bases du web de données
Pour conclure ce petit tutoriel, il est possible de préciser que d’autres triplestores peuvent être interrogés à l’aide du même langage SPARQL. Seuls les identifiants des éléments et les valeurs des propriétés seront à changer. On peut citer parmi les triplestore actuellement accessibles de manière publique :
- data.bnf.fr (BnF, littérature et journaux français, dépot national)
- data.idref.fr (ABES, littérature scientifique)
- Science+ (ABES, littérature scientifique)
- dataHal Science (CCSD, CNRS, INRAE, INRIA)
- sparql.HAL avec Virtuoso (CNRS, INRIA, Université de Lyon, INRAE, littérature scientifique)
- MAKG (Microsoft Academic Knowledge Graph), (Microsoft, littérature scientifique)
- SNORQL-CM (Equipex Biblissima, manuscrits Renaissance)
- data.persee.fr (ENS Lyon, littérature scientifique ancienne)
- nakala (Huma-Num, données en sciences humaines et sociales)
- COCOON (LACITO – UMR7107, LLL – UMR7270, Huma-Num, corpus d’interviews et d’histoires enregistrées)
- LARHRA , SYMOGIH (Université de Lyon, données historiques)
- Dictionnaire des francophones (Francophonie, vocabulaire francophone)
- OpenCitations (Université de Bologne, Oxford, littérature scientifique et citations de littérature)
- Europeana (Europe, éléments de culture européenne)
- MeSH (NIH, littérature scientifique internationale dans le domaine de la biologie et de la médecine)
- OpenStreetMap Sophos Service (Fondation OpenStreetMap)
- etc.
LinkedWiki référence au final 130 points d’accès publics en 2021. Pour conclure, plusieurs triplestores peuvent être interrogés simultanément à l’aide d’une clause « SERVICE » dans laquelle un point d’accès SPARQL est spécifié. On parle alors de recherche fédérée et nous testerons peut être cela dans un billet à venir.
- SPARQL/Federated query, Wikibooks, HenkvD : Lien
5.4 Suivre d’autres tutoriels
Plusieurs ressources, MOOC et didacticiels permettent d’en savoir plus sur le web de données, les ontologies, SPARQL, Wikidata et ce genre de chose.
- Wikidata:MOOC/Course outline : Lien
- MOOC Wikidata. Le MOOC Wikidata vous invite à découvrir le projet de plus grande base de connaissances ouverte au monde, son fonctionnement, ses règles, sa communauté et la manière dont la fiabilité de son contenu est assurée : Lien
- Wikidata Query Service Tutorial : Lien
- ANF « Initiation au SPARQL et à la diffusion de données en RDF », 2020, Jean-Baptiste Pressac, Thomas Francart (data BnF, OpenRefine, OntoRefine, GraphDB, SHACL, FRBR), Olivier Marlet (CIDOC-CRM, Ontop) : Lien
- ANF « SPARQL Avancé », 2021, Christine Plumejeaud, Jean-Baptiste Pressac, Thomas Francart (OntoRefine, GraphDB), Danielle Ziebelin et François Mistral (ABES, data IdRef) : Lien
- Valoriser les archives sur Wikipédia, Wikimédia Commons et WikiData – stage atelier, 2022, Association des archivistes français : Lien
Conclusion
Nous en savons maintenant plus sur les aspects historiques, informatiques, organisationnels, politiques et terminologiques de Wikidata. Lorsque des requêtes SPARQL sont lancées, les résultats peuvent afficher des statistiques de contenus ou bien des tableaux de données. Si les propriétés d’un sujet sont renseignées plusieurs fois, par exemple lorsqu’un livre est écrit par plusieurs auteurs, des requêtes agrégatives peuvent être lancée, de manière à regrouper en une seule entité décrite les différentes valeurs. Des requêtes secondaires de même que des tris et des exports de données deviennent alors possibles. A noter au passage : les données ont besoin de votre contribution, alors n’hésitez pas à renseigner Wikidata, à ajouter ou bien à corriger des propriétés, à apporter des références bibliographiques pour conforter les assertions.
- SPARQL et Wikidata. Partie 1 : les personnes
- SPARQL et Wikidata. Partie 2 : images, cartes, frises chronologiques et graphes : Lien
