Boîte à outils Wikidata

This page is a translated version of the page Wikidata Toolkit and the translation is 100% complete.

Wikidata Toolkit est une bibliothèque open-source Java permettant d'utiliser les données de Wikidata et d'autres sites Wikibase. Son principal objectif est de permettre aux développeurs externes de tirer facilement parti de ces données dans leurs propres applications. Le projet a vu le jour début 2014, grâce à une bourse d'engagement individuel de la Fondation Wikimedia. La proposition du projet original prévoit des fonctionnalités pour charger les données à partir de dumps ou via l'API action de MediaWiki, ainsi que des fonctionnalités de requête pour accéder aux données et les analyser.

Cette page et ses sous-pages sont les points d'entrée principaux de la documentation et des ressources concernant Wikidata Toolkit.

Qu'est-ce que Wikidata ? Qu'est-ce que Wikibase ?

Wikidata est un projet de la Fondation Wikimedia qui vise à rassembler les données de toutes les Wikipédias et de nombreux autres projets en un seul endroit. C'est un wiki dont chacun peut modifier les données. Si vous voulez en savoir plus sur le projet, ses objectifs, son contenu et son développement, alors l'article d'introduction Wikidata : une base de connaissances collaborative gratuite est un bon point de départ. Voir les détails supplémentaires sur les pages du projet sur wikidata.org.

Le logiciel utilisé pour propulser ce site est Wikibase. C'est une extension du logiciel MediaWiki encore utilisé par-dessous. En effet, Wikidata a également de nombreuses pages de wikicode qui coexistent avec les pages de données et qui composent la plupart du contenu. Il est possible d'utiliser Wikibase sur d'autres sites (le premier exemple est le wiki du projet EAGLE). Wikidata Toolkit est écrit également pour prendre en charge de tels sites.

Comment utiliser Wikidata Toolkit

Il y a deux façons principales d'utiliser Wikidata Toolkit actuellement :

  1. En tant que bibliothèque Java pour traiter le contenu de Wikidata dans votre application
  2. En tant que client indépendant en mode ligne de commande pour traiter le contenu de Wikidata

Le reste de cette page se concentre sur l'utilisation en Java. Pour d'autres informations quant à l'utilisation du client, voir la documentation du client Wikidata Toolkit. La version actuelle de Wikidata Toolkit peut être utilisée pour télécharger et traiter automatiquement les fichiers de dump de Wikidata.org en Java. Ceci est utile si vous souhaitez traiter toutes les données de Wikidata.org à la manière d'un flux en Java. Des possibilités de requête plus avancées seront ajoutées dans les prochaines versions.

Un exemple de l'utilisation de Wikidata Toolkit dans un projet Java est fourni par le projet d'exemples Wikidata. Il contient un certain nombre de programmes et de robots d'exemple qui montrent les fonctions de base. En voici une sélection; pour plus de détails, voir la documentation des exemples.

  • FetchOnlineDataExample lit certaines données en direct de Wikidata.org (sans avoir à télécharger d'abord un fichier dump).
  • EditOnlineDataExample écrit des données dans test.wikidata.org. Cela montre comment créer de nouveaux éléments et comment mettre à jour des déclarations existantes. Wikidata Toolkit vous permettra de fusionner des déclarations dupliquées, en combinant leurs références.
  • EntityStatisticsProcessor génère quelques statistiques simples sur les dumps actuels. Il faudra d'abord télécharger le fichier dump (ceci est à faire une seule fois pour chaque dump).
  • GreatestNumberProcessor Quelle série télévisée a eu le plus grand nombre d'épisodes ? Trouvez la réponse avec ce programme simple qui analyse les données sur la plus grande valeur d'une propriété.
  • LifeExpectancyProcessor révèle l'espérance de vie moyenne des personnes sur Wikipedia et crée un fichier CSV que vous pouvez ouvrir dans une feuille de calcul pour dessiner un graphique – les résultats sont surprenants. Il montre aussi comment le temps est géré.
  • GenderRatioProcessor Inspiré par le travail de Max Klein, ce programme analyse la distribution des sexes sur Wikipédia et autres projets Wikimedia. Encore une fois, des résultats surprenants peuvent être découverts dans le tableau résultant au format CSV.
  • JsonSerializationProcessor Ce programme lit les dumps et écrit les données dans un fichier de sortie en utilisant le format JSON standard. Avec quelques variantes, vous pouvez créer des fichiers contenant uniquement des éléments sélectionnés qui peuvent être utilisés par des scripts en analysant le format JSON.
  • SitelinksExample Wikidata Toolkit peut également être utilisé pour résoudre les liens vers les projets Wikimedia, par exemple pour trouver l'URL appropriée d'un article sur le Wikivoyage allemand. Cet exemple montre comment le faire.
  • RdfSerializationExample Programme d'exemple qui crée les exportations RDF initiales de Wikidata (veuillez utiliser les dumps produits par Wikibase). Ces exportations peuvent aussi être créées par le Client Wikidata Toolkit
  • OnlineMediaInfoExample Exemple de programme pour récupérer les données des entités Wikimedia Commons MediaInfo et des éléments Wikidata.
  • EditOnlineMediaInfoExample Exemple de programme pour modifier MediaInfo sur Wikimedia Commons.

Le dépôt de code contient la documentation supplémentaire pour exécuter ces exemples.

Téléchargement et installation

La version actuelle de Wikidata Toolkit est la version 0.16.0. La manière la plus facile d'utiliser la bibliothèque est avec Maven. Les utilisateurs Maven doivent ajouter aux dépendances dans leur fichier pom.xml la dépendance suivante :

<dependency>
	<groupId>org.wikidata.wdtk</groupId>
	<artifactId>wdtk-dumpfiles</artifactId>
	<version>0.16.0</version>
</dependency>

Vous devez utiliser Java 11 ou une version plus récente du SDK Android. Si vous utilisez Maven de Eclipse, il est possible que vous ayiez à modifier votre configuration Maven (voir le guide du débutant ci-dessous).

Actuellement, les modules Maven suivants sont disponibles (artefacts) :

  • wdtk-wikibaseapi — Lecture et écriture de données dans Wikidata ou tout autre site Wikibase via l'API action de MediaWiki. Ceci peut être utilisé pour écrire des robots basés sur Java pour Wikidata, ou simplement pour rechercher quelques données actuelles dans un programme. Exemples de programmes qui lisent et écrivent des données en utilisant cette bibliothèque.
  • wdtk-dumpfiles — Téléchargement et traitement des fichiers dump. Comme indiqué dans les exemples, cela peut être utilisé pour obtenir l'accès Java à toutes les données de Wikidata.org. Il pourrait également être utilisé pour télécharger et traiter les fichiers XML de projets MediaWiki arbitraires, en particulier les projets Wikimedia qui publient des dumps sur dumps.wikimedia.org. Cependant, cet accès se ferait au niveau du wikicode; un analyseur syntaxique pour le wikicode MediaWiki n'est pas inclus.
  • wdtk-datamodel — Représentation des données de Wikibase en Java. Il s'agit d'une implémentation du modèle de données Wikibase tel qu'il est utilisé par Wikidata et les autres sites Wikibase. Il comprend également tout le code nécessaire pour convertir dans les deux sens le format JSON standard et les objets Java.
  • wdtk-rdf — Code pour sérialiser les données Wikibase en RDF, le format de description des ressources du W3C.
  • wdtk-storage — Structures de données personnalisées utilisées par Wikidata Toolkit pour stocker les données en mémoire.
  • wdtk-util — Code utilitaire qui n'est spécifique à aucun des autres modules.

Il est très probable que vous souhaitiez utiliser wdtk-wikibaseapi et (ou) wdtk-dumpfiles à ce moment; ils dépendent d'autres modules qui seront téléchargés automatiquement. Vous pouvez aussi utiliser wdtk-datamodel seul pour représenter les données Wikibase de votre application. Cependant, sachez que certains détails de l'API peuvent encore évoluer jusqu'à la première version stable.

Si vous n'utilisez pas Maven, vous pouvez toujours télécharger manuellement le .jar des modules ci-dessus à partir de Maven Central.

Le code source est hébergé sur Github ; vous pouvez le consulter, faire un fork et le télécharger :

Guide du débutant

Si vous n'avez pas beaucoup travaillé avec Java, alors ce qui précède peut vous sembler encore un peu décourageant. Pour commencer et afin de faciliter les choses, nous vous recommandons d'installer l'environnement gratuit Eclipse IDE. Vous devez également installer le greffon Eclipse pour la prise en charge de Maven comme décrit sur notre page Configurer Eclipse (ne vous préoccupez pas de git sauf si vous tenez à l'utiliser déjà).

Les instructions suivantes décrivent comment configurer à partir de zéro un nouveau projet qui utilise Wikidata Toolkit. Par ailleurs vous pouvez aussi cloner le projet des exemples existant et l'adapter à vos besoins.

Si vous ne le connaissez pas du tout, vous pouvez lire le Guide de démarrage de Maven. C'est déjà assez long, donc n'y allez pas tout de suite mais il est bon de savoir par où commencer si vous avez des questions à poser à Maven. Pour commencer tout de suite, ouvrez Eclipse, sélectionnez Fichier → Nouveau → Projet... → Maven → Maven Project et cliquez sur "Suivant". Cocher "Créer un projet simple" en haut et cliquer sur "Suivant". Vous êtes ensuite invité à fournir des données de base pour votre nouveau projet (la signification des champs est expliquée dans le guide Maven). Saisir un identifiant de groupe (par exemple org.example) et un identifiant d'artefact (par exemple, mon premier projet de test); les autres champs sont facultatifs. Pour terminer, cliquer sur "Finish".

Vous devez maintenant voir votre nouveau dossier de projet avec plusieurs fichiers standard pré-créés dans l'explorateur de paquets Eclipse sur la gauche. Vous pouvez le parcourir pour trouver pom.xml qui contient vos paramètres Maven. Double-cliquer sur ce fichier pour ouvrir un éditeur pom.xml . Aller dans l'onglet des "Dépendances" et cliquer sur "Ajouter...". Entrer les données fournies ci-dessus : Id du groupe org.wikidata.wdtk, Id de l'artefact wdtk-dumpfiles, version "0.11.1" (ou tout ce qui est habituel). Cliquer sur "OK".

Vous pouvez voir dans l'onglet "pom.xml" quelles sont les conséquences sur le fichier courant. Tant que vous êtes là, copiez et collez le bloc suivant à la fin de ce fichier XML (juste avant ‎</project>) :

<build>
	<plugins>
		<plugin>
			<!-- déclarer la version du JRE utilisée par les IDEs tel Eclipse 
				comme JRE cible (par défaut c'est la 1.5) -->
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.1</version>
			<configuration>
				<source>11</source>
				<target>11</target>
			</configuration>
		</plugin>
	</plugins>
</build>

Ceci demande à Eclipse d'utiliser Java 11, nécessaire à Wikidata Toolkit. N'oubliez pas de sauvegarder le fichier. Cliquez-droit sur votre projet dans l'explorateur de paquets sur la gauche, "Maven → Update project", "OK" pour vous assurer que la version Java modifiée est vraiment correctement initialisée pour Eclipse. Vous avez maintenant configuré votre projet pour utiliser Wikidata Toolkit dans vos programmes. Cliquez-droit sur le projet de gauche, sélectionnez "Run As → Maven install" pour voir si Maven est raisonnablement satisfait de la configuration jusqu'à présent.

Votre projet n'a pas encore de paquet ni de classe. Vous pouvez les créer avec Eclipse comme d'habitude (cliquer-droit sur "src/main/java" → "Nouveau ...") et commencer le travail. Vous pouvez également essayer un exemple de code du Wikidata Toolkit dans votre propre projet (en copiant seulement le code des fichiers plutôt que d'importer l'ensemble du projet). Pour exécuter le code de EntityStatisticsProcessor (par exemple), vous devez ajouter une autre dépendance à votre projet (cette dépendance est utilisée pour la journalisation; vous pouvez également utiliser autre chose à la place; voir le code d'exemple pour configurer cela) :

<dependency> 
	<groupId>org.slf4j</groupId>
	<artifactId>slf4j-log4j12</artifactId>
	<version>1.7.6</version>
</dependency>

Ajoutez ceci à votre fichier pom.xml (vous pouvez utiliser l'éditeur dont vous vous êtes servi ou le coller dans XML immédiatement; mais n'oubliez pas de sauvegarder le fichier). Vous pouvez maintenant exécuter le programme : trouvez votre fichier de classe dans l'explorateur de paquets à gauche, cliquez-droit sur "Exécuter en tant que → Application Java". Si quelque chose échoue, faire "Exécuter comme → Installation Maven" ou "Maven → Mettre à jour le projet" sur le projet à nouveau, pour s'assurer que la configuration fonctionne.

Si vous voulez (réellement) exécuter l'exemple à partir de la ligne de commande en utilisant Maven sans Eclipse, vous pouvez le faire en vous plaçant dans le répertoire racine de votre projet (celui qui contient votre dossier src) et faire :

mvn compile
mvn exec:java -Dexec.mainClass="org.wikidata.wdtk.examples.FetchOnlineDataExample" 

où "org.wikidata.wdtk.examples.FetchOnlineDataExample" est la classe que vous souhaitez exécuter (avec le nom complet de son paquet). Notez que la ligne de commande n'utilise pas la même installation Maven que celle de Eclipse, vous devrez donc peut-être d'abord installer mvn pour votre plateforme.

Obtenir de l'aide

Les bogues et les demandes de fonctionnalités doivent être signalés via Github dans le suivi des problèmes Wikidata Toolkit. Pour une discussion plus approfondie, il convient d'utiliser la liste de diffusion wikidata-l (utilisation, demandes générales) et wikidata-tech (discussions techniques, développement).

Pour plus de commodité, nous fournissons également une version en ligne de la documentation de l'API Wikidata Toolkit pour la branche de développement actuelle. La documentation des versions de l'API contient les paquets Maven et doit être accessible dans Eclipse une fois vos dépendances configurées.

Participer

Les développeurs sont invités à participer à la boîte à outils. Les développeurs peuvent télécharger ou faire un fork du dépôt Github et sont généralement invités à envoyer leurs commentaires et leurs demandes. Le projet utilise Maven pour gérer les dépendances et pour construire le code ; cela permet aux développeurs de compiler très facilement le projet. Changer pour mettre le nom du dossier où le code source a été téléchargé et exécuter les commandes suivantes pour compiler et tester le code (il faut avoir installé Maven >=3.0) :

mvn install
mvn test

L'intégration Maven est disponible pour les IDEs Java standard :

Contributeurs

Le projet est conduit par Markus Kroetzsch; voir aussi l'équipe du projet de la proposition IEG[1]. La liste des contributeurs se trouve sur Github.

Références

  1. IEG – Individual Engagement Grants