Tutoriel wikidata

De EduTech Wiki
Aller à la navigation Aller à la recherche

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 Qqui permet de le retrouver. Par exemple:

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

En résumé, la définition d'une propriété ressemble un peu celle des entrées et le mécanisme de stockage et d'édition est similaire:

Exemples de propriétés

Utilisation de wikidata

Actuellement, tout le monde peut consulter les entrées et on peut électroniquement accéder aux contenus

Recherche simple

Formats structurés

Toute entrée Wikidata peut être récupéré en format JSON brut, afin de le traiter avec un script. Pour rappel, l'entrée Q1068473 concerne la technologie éducative.

Exemple:

On peu obtenir la même chose via l'API standarde:

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).

Modèle de données

Le modèle de données utilisé est introduit dans Help:Wikidata datamodel. Cette page contient la figure suivante:

Data model of Wikidata. Lists id, title, type, labels, aliases, descriptions, claims and sitelinks. Data model of Wikidata. Lists mainsnak (for claims), qualifiers, references and snak.
Data model of Wikidata. Lists datavalue and possible types. Currently wikibase-entityid (item), string (including image and url), time and globecoordinate. Possible future types quantity, multilingualtext, monolingualtext.

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
}

Exemple JavaScript

A améliorer:

Liens

Documentation officielle
Documentation officielle en français (qui explique surtout la structure des entrées)
Tutoriels

Wikidata query service