# Context and Scope
# Business Context
Neighbour | Description |
---|---|
Tools and Bots | Applications and Bots (opens new window) interacting with the Repo's data programmatically |
Wikibase Client | Wikibase Clients are MediaWiki applications consuming the Wikibase Repository's data. In Wikidata's case these would include Wikipedia, Wiktionary and others. |
Wikidata Query Service | A SPARQL endpoint and graphical user interface for querying the Repo's data. |
# Technical Context
Wikibase Repository is being developed as a set of MediaWiki extensions, but unlike Wikibase Client, they are not "plugins" that live inside MediaWiki, adding functionality to it. Instead, Wikibase Repository should be considered a system of its own, which is reflected in this diagram by not regarding MediaWiki as an external system to Wikibase Repository. See further details on this decision in the Solution Strategy section.
TIP
Note that updates to the Query Service from the Repo will use either Recent Changes or the event stream via EventLogging and EventGate, not both. Wikidata uses the event stream, while most third party Wikibase setups use an updater that polls the Recent Changes page.
Component | Description |
---|---|
Entity UI and Special Pages | These are the main web user interfaces for viewing and editing Entity data |
RdfDumpGenerator | Generates an RDF file from the Repo's Entities |
MW Recent Changes (opens new window) | A MediaWiki page listing the most recent edits |
MW EventLogging (opens new window) | Backend-agnostic logs of structured event data |
EventGate (opens new window) | An EventLogging backend which in production is backed by Kafka |
Repo DB | The SQL database containing Entity data |
Entity edit hooks | Hooks that get triggered when an Entity is edited |
UpdateRepo | Updates Sitelinks when the sitelink target is moved or deleted on the Wikibase Client |
API | The Repo's actions on the MW Action API (opens new window) for editing Entities and reading Entity (meta) data |