# Repository Introduction
Wikibase Repository is part of Wikibase.
Wikibase Repository is focused around a MediaWiki extension that allows you to use your MediaWiki site as a structured data repository.
The data can in turn be used in a wiki using the Wikibase Client, or queried using the Query Service
# Requirements Overview
The overall goal of Wikibase Repository is to allow humans and machines to store, change, maintain, manage and retrieve structured multi lingual data in a non rigid fashion.
Wikidata specific goals are also fullfilled by Wikibase Repository:
- Store structured information for Wikimedia projects in a central place.
- Wikidata is not only useful for Wikimedia projects, but also other stakeholders (data re-users, researchers, apps, etc)
# Basic Usage
- A wikibase operator sets up a Wikibase Repository as part of a MediaWiki installation.
- Editors interact with data entities via UIs and APIs, creating, reading, updating or deleting them.
- Wikibase Repository exposes changes to the data to MediaWiki features enabling monitoring of changes.
- The whole currated data set and be dumped and analysed by other users, such as data re-users.
# Quality Goals
- Whenever any data changes on a Wikibase Repository, it becomes available to connected wikis with Wikibase Client within 10 minutes (opens new window).
For example, if the mayor of Berlin changes and that is updated on Wikidata, the corresponding article that uses the Wikidata item "Mayor of Berlin" on English Wikipedia should have the updated information within 10 minutes.
# Stakeholders & Expectations
# Editor
- Find structured entity data on the repository.
- View structured entity data on devices of varying capabilities (including mobile).
- Interact with (CRUD) structured entity datain a repository via a desktop web interface.
- Programmatically interact with (CRUD) structured data in a repository.
- Review changes to the structured entity data.
- Edit Labels, Descriptions, Aliases on Repository via a mobile web interface.
- Have Statements about external identifiers separated from other Statements in the Repository UI.
- Have Statements shown in a useful order.
- Ensure the coherence of data modeling in a certain topic.
# Wikidata editor
- Edit Terms and sitelinks of entities without using JavaScript in a browser.
- Receive suggestions for properties in a meaningful order when trying to add new statements.
# Commons editor
Some Commons editor expectations probably only apply to the MediaInfo extension, however many end up influencing Repository architecture.
- Store structured data relevant to files on Commons, on Commons.
- Describe Commons files using concepts from Wikidata.
- Structured data can be added to a file without the need for extra "creation" of some entity or page.
- There is a known mapping between the File page and structured data location
# 3rd party editor
- Use the same Wikidata ontology on a non Wikimedia Wikibase.
- Extend a non Wikimedia Wikibase with relevant entities from Wikidata (federation).
# Importer
- Import large amount of data (>1M entities) into a third-party Wikibase quickly & efficiently.
# Wikidata Data donor
- Import (donate) subset of my collection data to Wikidata.
- Monitor, maintain, and re-export the data donated to Wikidata.
- Cross-check an external data collection against Wikidata.
# Data re-user
- Access a Repositories content via a web API.
# Wikidata Data re-user
- Fix and add data values on Wikidata.
# Researcher
- Obtain large parts of the data on Wikidata.
- Quickly create visualizations based on data from Wikidata without the need to download it.
- Fix minor modeling and data issues.