Help:Wikibase technology

From Wikibase Personal data
Revision as of 13:47, 24 January 2020 by Podehaye (talk | contribs) (→‎Technology)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Some Vocabulary

Wikipedia is an online encyclopedia running software called MediaWiki. You might have seen websites before that look like Wikipedia. They run MediaWiki.

Wikipedia is a project of the WikiMedia Foundation, which also - quite logically - develops the software MediaWiki. They have many more projects, with one called Wikidata. Wikidata has the same collaborative dynamics as Wikipedia, and much of the same feel. The main difference is that the focus is in maintaining a collaborative database of facts. This is done using an extension of MediaWiki called Wikibase, yet another project of the Foundation.

In our project, we have decided to use MediaWiki together with its extension Wikibase, to maintain a collaborative database of actors in the personal data ecosystem.

Wikibase uses three main concepts:

  • item
  • property
  • statement

For instance, Uber (Q101) is an item. Click on it and have a look. To an item you can attach statements. An example such statement is the linkage:

 Uber (Q101) -- instance of (P3) -- data controller (Q96)

In this statement, instance of (P3) is a property. So a statement is basically a triple (item, property, item).

One can also qualify a statement through a "qualifier", and add a "reference" for a statement.

Technology

Wikibase uses a SQL database, like other MediaWiki extensions. My understanding is that it implements a few additional types of pages, like Item and Property. This SQL database can be accessed fairly directly through the API. You can read and write through this API. However in order to use Help:SPARQL, this SQL is fed into a Blazegraph triplestore, thanks to the updater, which runs at (ir)regular intervals. It is very important to understand that the information goes one way and only one way from the SQL database to the Blazegraph database. From there the data can be queried in different additional ways.