Shortcut: Wikidata:Gentle Query

Wikidata:Service de requête SPARQL/Une introduction en douceur au service de requête de Wikidata

From Wikidata
Jump to navigation Jump to search

Outdated translations are marked like this.

Other languages:
Afrikaans • ‎Bahasa Indonesia • ‎Deutsch • ‎English • ‎català • ‎español • ‎français • ‎italiano • ‎polski • ‎svenska • ‎српски / srpski • ‎українська • ‎العربية • ‎日本語

Une introduction en douceur au service de requête de Wikidata

Vous êtes-vous déjà posés des questions comme celle-ci ?

  • Quelles sont les plus grandes villes du monde qui ont une femme maire ?
  • Quels aéroports sont situés dans un rayon de 100 km de Berlin ?
  • Qui sont tous les descendants connus de Gengis Khan ?

Wikidata connait les réponses.

Qu’est-ce que Wikidata ?

Wikidata est un dépôt de connaissance. Vous pouvez lire une introduction à l'idée et aux concepts derrière Wikidata sur notre page d’introduction.

Comment poser une question ?

Le langage de requête utilisé pour poser des questions comme ça sur Wikidata s'appelle SPARQL. Si ça semble trop technique et trop compliqué pour vous, ne vous inquiétez pas. Dans cette introduction en douceur, vous n'apprendrez pas SPARQL. À la place, nous regarderons des exemples de requêtes existantes et comment les modifier.

Qu’est-ce qu’une requête ?

Une requête est une forme spéciale de question qu’un système informatique peut comprendre et à laquelle il peut répondre. À moins que vous n’interagissiez avec une intelligence artificielle, vous devrez apprendre à formuler vos questions d’une certaine manière.

Puis-je utiliser librement ces données ?

Oh que oui ! Wikidata peut être utilisé par n’importe qui pour n’importe quoi parce que toutes les données sont dans le domaine public (CC0).

Et maintenant ?

Nous allons commencer avec un exemple simple pour vous montrer comment utiliser ce service, et nous continuerons avec des exemples plus élaborés pour finalement connaitre la réponse à la question fondamentale. Promis !

Comment utiliser Wikidata pour une requête simple

Regardons un exemple simple montrant comment obtenir une liste de tous les chats connus dans le monde.

Obtenir une liste de tous les chats dans le monde

Utilisez cette URL pour aller sur le service de requête : https://query.wikidata.org

  1. Cliquez sur « Exemples »
  2. Choisissez « Cats » dans la liste qui apparait
  3. Cliquez sur « Lancer » juste en dessous de la boite contenant le code

Screenshot for "A gentle introduction to the Wikidata Query Service" 1.png

Cela nous donne à présent une liste de tous les chats plus ou moins célèbres sur internet - ou du moins ceux que Wikidata connait. C’est génial, pourvu que vous aimiez les chats et pas les chiens.

Qu’en est-il des chiens ?

Si vous préférez lister les chiens (ou n’importe quoi d’autre qui vous tient à cœur), il y a deux moyens de modifier votre requête :

  1. Utiliser le Query Helper pour modifier l’élément de chat vers chien : Wikidata Query - Query Helper - Edit cats to zoo.gif
  2. Modifier manuellement la requête Chaque élément sur Wikidata est identifié de manière unique à l’aide d’un code. Ce code est Q146 pour « chat ». Pour trouver le code correspondant pour « chien », vous pouvez chercher sur Wikidata :
  1. Utiliser l’auto-complétion (sera détaillée à la fin)
  2. Commencer avec l’exemple « chat », retirer « Q146 »
  3. Placer le curseur après « wd: »
  4. Taper « chien » après « wd: »
  5. Appuyer sur Ctrl+Espace
  6. Utiliser les flèches haut/bas ; lorsque vous appuyez sur Entrée - il sera remplacé par Q144
Note : les résultats de recherches dépendent de la langue de l’interface.
  1. Aller sur https://www.wikidata.org
  2. Taper « chien » dans la boite de recherche
  3. Cliquer sur le premier résultat dans le menu déroulant
  4. Noter le numéro de l’élément pour « chien » depuis la page de Wikidata qui s’ouvre (Q144)

Screenshot for "A gentle introduction to the Wikidata Query Service" 3.png

Pour modifier votre requête de « chat » en « chien », remplacez simplement Q146 par Q144 dans l'éditeur de requête SPARQL.

Lancez le programme, et on vous présentera une liste des chiens plus ou moins connus sur internet.

Screenshot for "A gentle introduction to the Wikidata Query Service" 7.png

Clarifier la requête

Analysons à présent le code pour générer cela de sorte que nous puissions effectuer une recherche pour n’importe quel objet (par exemple, des chiens, des planètes, des pays, des chansons) :

#Cats
SELECT ?item ?itemLabel
WHERE
{
	?item wdt:P31 wd:Q146 . 
	SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
  • SELECT Une requête SELECTionne quelque chose. Ce que vous voulez sélectionner précisément est décrit plus tard, mais pour le moment vous indiquez simplement les marques substitutives (ou les variables). Ici ils sont appelés ?item et ?itemLabel. Vous pouvez indiquez que quelque chose est une variable si elle commence par un point d’interrogation.
  • ?item Il s’agit de la liste des éléments que vous recherchez. Dans notre cas, il s’agira des chats célèbres. Les éléments sur Wikidata fonctionnent dans de nombreuses langues, pratiquement 300. Parce que nous ne pensons pas que tout dans le monde est en anglais et que les autres langues sont juste des cas particuliers de l’anglais, les éléments sont stockés d’une manière qui fonctionne avec toutes les langues. Chaque concepts dispose d’un nombre. Q146 est le concept pour « chat », Q64 désigne Berlin en Allemagne, Q42 correspond à l’écrivain Douglas Adams et ainsi de suite. Astuce : ?item est juste un nom de variable que nous avons décidé d’utiliser. Ça pourrait être autre chose, par exemple : ?animal.
  • ?itemLabel Les humains peuvent comprendre les noms dans une langue humaine beaucoup plus facilement que des nombres. Un libellé est le nom d’un élément dans une langue humaine, par exemple anglais (ou espéranto, ou japonais, ou zoulou ...). Nous voulons que les libellés soient affichés dans notre requête de sorte que Q1371145 soit affiché comme « Socks » (le chat appartenant à Bill Clinton et sa famille). Des détails sur le service de libellés sont donnés dans le manuel utilisateur.
  • WHERE { C’est la clause WHERE de la requête. Ici nous indiquons ce qui va dans les marques substitutives. Une clause WHERE commence avec une accolade ouvrante { et se termine avec une accolade fermante }.
  • ?item Il s’agit de la marque substitutive que nous voulons remplir. C’est le sujet dont nous voulons connaitre quelque chose.
  • wdt:P31 C’est le prédicat du sujet. Si vous le survoler, vous verrez qu’il

signifie nature de l’élément.

Screenshot for "A gentle introduction to the Wikidata Query Service" 9.png

  • wd:Q146 . C’est l’objet. Si vous le survoler, vous verrez qu’il signifie chat.

Screenshot for "A gentle introduction to the Wikidata Query Service" 8.png

Tout ceci est un peu indigeste. Il peut aider à exprimer une requête dans une langue naturelle :

« Donne moi une liste des éléments avec leurs libellés, où les éléments sont des instances de chat. Ensuite, génère les libellés des éléments en anglais. »

Avec le code que nous avons utilisé dans nos exemples, nous vous avons montré une liste des chats plus ou moins connus sur internet. Cette requête peut être facilement modifiée pour afficher une liste de chiens, par exemple.

Guide rapide de Texte à SPARQL

Ces images montrent comment écrire des triplets en langue naturel, et les convertir en consultations SPARQL:

The key is to prefix variables with ?, items with wd: and properties with wdt:, and then using the Ctrl+Space keyboard shortcut to activate the auto-completion feature that replaces the latter two with the actual Wikidata identifiers.

Wikidata write SPARQL query for dummies.gif

Sparql for dummies - Poet spouses.gif

Plonger dans l’interface utilisateur

Comment modifier la langue dans laquelle les résultats sont affichés ?

Avec cet outil de requête de recherche, vous ne pouvez pas uniquement customiser et rechercher des requêtes simples ou agrégées, composées, imbriquées ou complexes mais vous pouvez aussi rechercher dans n’importe quelle langue et obtenir les résultats dans n’importe quelle langue également.

  • Modifier le code de langue par défaut de « en » (anglais) vers n’importe quel code de langue, par exemple « ja » pour le japonais.
#Cats  
SELECT ?item ?itemLabel WHERE
{
     ?item wdt:P31 wd:Q146 .
     SERVICE wikibase:label { bd:serviceParam wikibase:language "ja" }
}

Comment modifier l’ordre de tri des résultats affichés ?

L’ordre des éléments affichés peut être facilement modifié dans l’interface. Cliquez simplement sur la colonne concernée des résultats de recherche pour personnaliser l’ordre de tri :

Screenshot for "A gentle introduction to the Wikidata Query Service" 6.png

Comment modifier la langue de l’interface utilisateur ?

Cliquez sur le mot « English » et sélectionnez la langue dans la liste qui s’affiche :

Screenshot for "A gentle introduction to the Wikidata Query Service" 10.png

Notez que l’interface utilisateur est maintenant affichée dans la langue sélectionnée :

Screenshot for "A gentle introduction to the Wikidata Query Service" 12.png

Mais je veux des photos de chats ! Comment chercher des images ?

Pour le moment, nous avons vu la sortie des requêtes affichées sous forme de tableau. Essayons avec quelques images :

Cliquez sur le bouton « Exemples » et sélectionnez l’exemple « Even more cats, with pictures ». Lancez la requête et des images de chats devraient apparaitre dans la partie inférieure de l’écran.

Screenshot for "A gentle introduction to the Wikidata Query Service" 2.png

Il s’agit de ce qu’affichent les résultats en tant qu’image plutôt que comme tableau. Vous pouvez échanger manuellement comment les données sont affichées en utilisant le menu « Display » dans le coin en haut à droite des résultats. Essayez d’échanger le menu à « Table » pour voir le même résultat sous forme de tableau.

Regarond ce qui est nouveau dans la requête, comparé à la requête du chapitre précédent. Écrit en anglais, la requête se lirait « Donne moi tous les éléments qui ont quelque chose à voir avec les chats. Donne moi également l’image pour chaque élément. Et en même temps, affiche le résultat sous la forme d’une grille d’images, pas comme un tableau. »

  • #defaultView:ImageGrid Ce qui ressemble à un commentaire est en fait une instruction pour afficher le résultat de la requête en tant qu’images et non sous forme de tableau.
  • ?x1 Cela signifie que vous demandons n’importe quel prédicat, pas seulement les « nature de l’élément ». Il faut penser aux prédicats comme « dépeint » (P180) ou « nommé en référence à » (P138). Nous n’utilisons nulle part ?x1 d’autre dans la requête, ce qui signifie que la marque substitutive signifie « Peu m’importe de quel prédicat il s’agit, donne moi tous les résultats qui ont un rapport avec un chat »
  • OPTIONAL À l’intérieur des parenthèses, vous voyez une autre déclaration qui ajoute des données optionnelles au résultat. La variable ?item est réutilisée et couplée avec la propriété P18 (signifiant « image ») et un nouvelle variable ?pic. En encapsulant la déclaration avec OPTIONAL signifie que les éléments ne doivent pas nécessairement avec une propriété P18 pour apparaitre dans la liste et que la variable ?pic peut être vide.

Tentez de modifier la requête :

  • Recherchez les chiens au lieu des chats. Astuce : changez la partie Objet dans la première déclaration dans WHERE.
  • Affichez uniquement les éléments qui « dépeignent » des chats (vous obtiendrez des peintures). Astuce : remplacez ?x1 par quelque chose d’autre.
  • Retirez le OPTIONAL

Il existe d’autres moyens d’afficher vos données, mais elles ne sont pas toujours convenable, ce qui explique pourquoi certains sont grisés dans le menu. « Image map » est uniquement sélectionnable si les données du résultat contiennent des URLs d’image. Dans l’un des chapitres suivants, vous apprendre comment afficher des éléments comme des points sur une carte.

Comment partager votre requête pour que d’autres l’utilisent ?

Si vous voulez partager votre requête avec quelqu’un d’autre - disons, sur un réseau social - vous pouvez créer un lien court pour votre requête

  • Complétez votre requête
  • Cliquez sur l’icône LINK :
Screenshot for "A gentle introduction to the Wikidata Query Service" 4.png
  • Copiez l’URL listée ici. Il s’agit de l’URL pour la requête.

Trouver des choses sur des cartes

Il existe davantage de moyens de visualiser les résultats d’une requête. Si la requête demande des coordonnées géographiques, les résultats pourront être affichés sur une carte.

Regardez cet exemple de phares en Norvège. Lorsque vous lancez la requête, vous verrez des points rouges qui indiquent la position des phares sur la côte norvégienne.

Screenshot for "A gentle introduction to the Wikidata Query Service" 11.png

Using the Explorer Dialog

Once the results of a query have loaded, you can see a magnifying glass icon on each result. Clicking this icon opens the Explorer Dialog.

Wiki4prssanna4.png

The explorer dialog by default, displays a single node representing that particular result. Below the node, you can see a toggle that defaults to ‘Outgoing’. This means that clicking on any node will expand all the properties of that node, from the entire Wikidata knowledge base. Toggling this to ‘Incoming’ allows you to see all the incoming links or properties that point to the node. This is a way to explore all the relationships between the various items and their properties using Wikidata.

Wiki2prssanna2.png

You can open multiple explorer dialogs at once, allowing you to compare the results of more than one query at once. The explorer dialog also has a toolbar at the bottom right corner which is used to switch between multiple views like Graph, Tree, Map, Table etc.

Encore plus

Il y a encore plus de visualisation à explorer :

Regardez dans les exemples de requête et essayez les tous !

Autocomplétion

Dans l’éditeur, vous pouvez appuyer sur Ctrl+Espace à n’importe quel endroit de la requête et obtenir des suggestions pour le code qui pourrait être appropriées ; sélectionnez la bonne suggestion avec les touches de flèches haut/bas et appuyez sur Entrée pour la sélectionner.

Par exemple, au lieu d’écrire SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". } à chaque fois, vous pouvez juste taper SERV, appuyer sur Ctrl+Espace, et la première suggestion sera l’appel complet au service de libellé, prêt à l’emploi ! Appuyez juste sur Entrée pour accepter. (La mise en forme sera un peu différente, mais cela n’est pas important.)

Et l’autocomplétion peut également rechercher pour vous. Si vous tapez l’un des préfixes de Wikidata, comme wd: or wdt:, et que vous écrivez ensuite du texte, Ctrl+Espace recherchera ce texte sur Wikdiata et suggérera des résultats. wd: recherche des éléments, wdt: des propriétés. Par exemples, au lieu de chercher les éléments pour Johann Sebastian Bach (Q1339) et father (P22), vous pouvez simplement saisir wd:Bach et wdt:pèr et sélectionner ensuite la bonne entrée à partir de l’autocomplétion. (Cela fonctionne même avec les espaces dans le texte, par exemple wd:Johann Sebastian Bach.)

Où aller maintenant

Vous pouvez probablement vous repérer avec le service de requête de Wikidata à présent. Explorer l’interface et changer les valeurs dans les requêtes peut être un bon moyen d’apprendre comment poser vos questions sur Wikidata.