Tutoriel wikidata
Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.
Introduction
«Wikidata est un projet de la Wikimedia Foundation : une base de données libre, collaborative et multilingue, qui collecte des données structurées pour alimenter Wikipédia, Wikimedia Commons, les autres projets Wikimedia et bien plus encore.» ([https://www.wikidata.org/wiki/Wikidata:Introduction/fr Wikidata:Introduction, nov 2016).
Les données structurées de Wikidata sont libres (Creative Commons Transfert dans le Domaine Public (CC0 1.0)) et multilingues. Les données incluent aussi leurs sources et des liens.
Schéma de données
Chaque entrée dans la base de données est appelé élément (français), item (Anglais) et Objekt (Allemamd). Autrement dit, la base de données et composé d'objets structurées que l'on appelle éléments, entrées ou items.
Chaque item a un identifieur unique (débuant avec la lettre Q
qui permet de le retrouver. Par exemple:
- Q1068473: educational technology (le domaine)
- Q6019327: Educational Technology Research and Development (une revue de l'AECT)
Chaque item doit être notable (par exemple se retrouver dans une entrée d'un site de Wikimedia comme Wikipedia, Wiktionary, Wikibooks, WikiNews, etc. Chaque item doit être unique (une seule entrée / item). Ces items peuvent être reliés.
Structure des entrées
Un élément (item) est object structuré qui contient les type de composants suivantes:
- Le libellé (Angl. label, All. Bezeichnung) définit le nom le plus connu de l'objet.
- La description (Angl. description, All. Beschreibung) donne une définition courte d'une entrée. Cette description comprends quelques mot, ne constitue pas une phrase et suit quelques règles (minuscules, pas de ponctuation, pas d'articles, pas de phrase).
- Les alias (All. Alternativnamen) donnent des noms alternatives aux libellés.
- Les liens de sites incluent un URL et un titre et doivent pointer vers des pages provenant de Wikimedia. Pour chaque langue vous pouvez ajouter un lien par type de site et on peut indiquer la qualité (badge).
- Les declarations (Angl. statements, All. Aussagen) définissent des propriétés avec une ou plusieurs valeurs. Il s'agit donc des données structurées que l'on a sur un objet.
- Exemple de Educational technology:
Statements Propriété Valeur industry education subclass of technology
Types de propriétés et valeurs
Les propriétés sont typées, et aussi définies par des entrées dans wikidata. Par exemple industry est définie dans l'entrée P452) avec le libellé (label) industry, la description industry of company or organization et quelques alias comme field of action ou sector.
Chaque propriété est un type de données, par exemple industry est un item. En novembre 2016, il y avait 11 types dans la liste des types de données
Finalement chaque propriété est à son tour décrit par des déclarations (statements).
Les valeurs
- Une valeur peut être simple ou multiple
les qualificatifs
- Les qualificatifs (Angl. qualifiers) permettent de modifier la portée d'un élément, indiquer la manière dont une valeur a été obtenue, mettre des restrictions sur la portée d'une valeur ou inclure d'autres détails nécessaires à l'interprétation de la valeur.
Les références
- indiquent la source
Les rangs
- Les rang (Angl. ranking) constituent une mécanique permettant d’annoter plusieurs valeurs pour une déclaration, c-a-d indiquer un statut comme preferred, normal ou deprecated
Utilisation de wikidata
Actuellement, tout le monde peut consulter les entrées et on peut électroniquement accéder aux contenus
Recherche simple
- Special:Search (Recherche globale avec un string)
- Special:ItemByTitle (recherche d'un élément selon un site/une page Wikimédia
Formats structurés
Toute entrée Wikidata peut être récupéré en format JSON brut, afin de le traiter avec un script.
Exemple:
- https://www.wikidata.org/wiki/Q1068473 (human readable page on Educational technology)
- https://www.wikidata.org/wiki/Special:EntityData/Q1068473.json (format JSON)
- https://www.wikidata.org/wiki/Special:EntityData/Q1068473.ttl (format XML/RDF)
- .....
On peut obtenir une page plus "human readable" via l'API standarde.
MediaWiki API
- Pas très utile dans ce contexte ?
Vous pouvez expérienter avec API Sandbox et lire la API documentation
Requêtes structurées avec SPARQL
Le GUI
Le WikidataQuery Service (WDQS) permet un accès aux données Wikidata via des données. Un implémentation béta existe déjà:
Exemple pour trouver les plus grandes villes qui ont un maire femme:
#Largest cities with female mayor
#added before 2016-10
SELECT DISTINCT ?city ?cityLabel ?mayor ?mayorLabel
WHERE
{
?city wdt:P31/wdt:P279* wd:Q515 . # find instances of subclasses of city
?city p:P6 ?statement . # with a P6 (head of goverment) statement
?statement ps:P6 ?mayor . # ... that has the value ?mayor
?mayor wdt:P21 wd:Q6581072 . # ... where the ?mayor has P21 (sex or gender) female
FILTER NOT EXISTS { ?statement pq:P582 ?x } # ... but the statement has no P582 (end date) qualifier
# Now select the population value of the ?city
# (wdt: properties use only statements of "preferred" rank if any, usually meaning "current population")
?city wdt:P1082 ?population .
# Optionally, find English labels for city and mayor:
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
ORDER BY DESC(?population)
LIMIT 10
Les données peuvent être affichées en plusieurs vues, par exemple des tables, des cartes, des bubble chart, des graphes, etc.
SPARQL API
Au lieu de copier/coller les requêtes dans leur formulaire de recherche, on peut utiliser un "EndPoint" avec l'URL Suivant:
Le résultat sera retourné en XML par défaut, en JSON (format=json
), etc.
Outils externes
Il existe pas mal d'outils et exemples externes que l'on peut utiliser (et parfois adapter).
- Crotos moteur de recherche et d'affichage d'œuvres d'art s'appuyant sur Wikidata et Wikimedia Commons
- SQID A fresh look at Wikidata
- Visualisation de morts
Modèle de données
Le modèle de données utilisé est introduit dans Help:Wikidata datamodel. Cette page contient la figure suivante:
Voici un exemple (un peu amputé !!) pour educational technology (Q1068473)
{
"entities": {
"Q1068473": {
"pageid": 1017035,
"ns": 0,
"title": "Q1068473",
"lastrevid": 400333057,
"modified": "2016-11-03T09:28:37Z",
"type": "item",
"id": "Q1068473",
"labels": {
.............................
"de": {
"language": "de",
"value": "Bildungstechnologie"
},
"fr": {
"language": "fr",
"value": "technologie \u00e9ducative"
},
"nl": {
"language": "nl",
"value": "onderwijstechnologie"
}
},
"descriptions": {
"en": {
"language": "en",
"value": "use of technology in education to improve learning and teaching; not restricted to high technology"
},
"es": {
"language": "es",
"value": "uso de la tecnolog\u00eda en la educaci\u00f3n para mejorar el aprendizaje y la ense\u00f1anza."
},
.....................................
"en": [
{
"language": "en",
"value": "e-learning"
},
{
"language": "en",
"value": "instructional technology"
},
{
"language": "en",
"value": "information and communication technology (ICT) in education"
},
{
"language": "en",
"value": "learning technology"
},
{
"language": "en",
"value": "EdTech"
},
{
"language": "en",
"value": "multimedia learning"
},
{
"language": "en",
"value": "technology-enhanced learning (TEL)"
},
{
"language": "en",
"value": "computer-based instruction (CBI)"
},
{
"language": "en",
"value": "computer managed instruction"
},
{
"language": "en",
"value": "computer-based training (CBT)"
},
{
"language": "en",
"value": "computer-assisted instruction"
},
{
"language": "en",
"value": "computer-aided instruction (CAI)"
},
{
"language": "en",
"value": "internet-based training (IBT)"
},
{
"language": "en",
"value": "flexible learning"
},
{
"language": "en",
"value": "web-based training (WBT)"
},
{
"language": "en",
"value": "online education"
},
{
"language": "en",
"value": "virtual education"
},
{
"language": "en",
"value": "virtual learning environment (VLE)"
},
{
"language": "en",
"value": "learning platforms"
},
{
"language": "en",
"value": "m-learning"
},
{
"language": "en",
"value": "digital education"
},
{
"language": "en",
"value": "ed tech"
}
],
"claims": {
"P373": [
{
"mainsnak": {
"snaktype": "value",
"property": "P373",
"datavalue": {
"value": "Educational technology",
"type": "string"
},
"datatype": "string"
},
"type": "statement",
"id": "q1068473$2D4F9040-0081-4299-90B7-17FAC89023D1",
"rank": "normal"
}
],
"P910": [
{
"mainsnak": {
"snaktype": "value",
"property": "P910",
"datavalue": {
"value": {
"entity-type": "item",
"numeric-id": 8408260,
"id": "Q8408260"
},
"type": "wikibase-entityid"
},
"datatype": "wikibase-item"
},
"type": "statement",
"id": "Q1068473$9D058A56-6AD6-475A-817D-5CB7B7D939C0",
"rank": "normal"
}
],
"P349": [
{
"mainsnak": {
"snaktype": "value",
"property": "P349",
"datavalue": {
"value": "00567159",
"type": "string"
},
"datatype": "external-id"
},
"type": "statement",
"id": "Q1068473$FA7B4944-5E99-46EE-90CD-389101AE17F1",
"rank": "normal"
}
],
"P279": [
{
"mainsnak": {
"snaktype": "value",
"property": "P279",
"datavalue": {
"value": {
"entity-type": "item",
"numeric-id": 11016,
"id": "Q11016"
},
"type": "wikibase-entityid"
},
"datatype": "wikibase-item"
},
"type": "statement",
"id": "Q1068473$90358c04-4bc9-bbd3-319d-a5c3472e8406",
"rank": "normal"
}
],
"P452": [
{
"mainsnak": {
"snaktype": "value",
"property": "P452",
"datavalue": {
"value": {
"entity-type": "item",
"numeric-id": 8434,
"id": "Q8434"
},
"type": "wikibase-entityid"
},
"datatype": "wikibase-item"
},
"type": "statement",
"id": "Q1068473$92a3b12e-4de1-0258-4eeb-2b9f4e08c370",
"rank": "normal"
}
],
"P2167": [
{
"mainsnak": {
"snaktype": "value",
"property": "P2167",
"datavalue": {
"value": "60106214",
"type": "string"
},
"datatype": "external-id"
},
"type": "statement",
"id": "Q1068473$62C2177A-F29A-4967-81EB-28BCC46351C5",
"rank": "normal"
}
],
"P460": [
{
"mainsnak": {
"snaktype": "value",
"property": "P460",
"datavalue": {
"value": {
"entity-type": "item",
"numeric-id": 4347841,
"id": "Q4347841"
},
"type": "wikibase-entityid"
},
"datatype": "wikibase-item"
},
"type": "statement",
"id": "Q1068473$0cbe5ab9-46a8-0720-3446-416dc524eede",
"rank": "normal"
}
]
},
"sitelinks": {
"dewiki": {
"site": "dewiki",
"title": "Bildungstechnologie",
"badges": []
},
"enwiki": {
"site": "enwiki",
"title": "Educational technology",
"badges": []
},
"eswiki": {
"site": "eswiki",
"title": "Tecnolog\u00eda educativa",
"badges": []
},
}
}
},
"success": 1
}
Liens
- Documentation officielle
- Documentation officielle en français (qui explique surtout la structure des entrées)
- Help:Items/fr
- Help:Label/fr
- Help:Description/fr
- Help:Statements/fr
- Help:Ranking/fr
- Help:Qualifiers/fr
- Tutoriels
- Wikidata Tours. Interactive tutorials