Eine kleine Einführung in Wikibase
Was ist Wikimedia?
Wikimedia ist eine globale Bewegung, die der Welt kostenlose Bildung über Websites bringt. Einige dieser Projekte sind Wikis wie Wikipedia (https://it.wikipedia.org), Wikibooks, Wikinews, Wikivoyage, Wiktionary und die große freie Wissensdatenbank Wikidata (https://www.wikidata.org).
Was ist Wikidata?
Wikidata (https://www.wikidata.org) ist eine große freie Wissensdatenbank. Sie dient als zentraler Speicher für die Wikimedia-Projekte. Wikidata kann von Menschen und von Maschinen gelesen und bearbeitet werden.
Die Wikimedia-Wikis nutzen Wikidata u.a. für folgende Zwecke
- Verwaltung der Inter-Language Links auf den Seiten der Wikis. Beispiel:
- In Wikidata gibt es einen Eintrag für ein Objekt Q2: https://www.wikidata.org/wiki/Q2
- Q2 ist die einzelsprachunabhängige Bezeichnung.
- Im Italienischen heißt dieses Objekt ‚Terra‘, im Deutschen ‚Erde‘ , … .
- Unten auf der Wikidata-Seite stehen Listen: In welchen Wikis (Wikipedia, Wikibooks, Wikinews, Wikiquote, Wikisource, Wikiversity, Wikivoyage, Wiktionary) hat dieses Objekt einen Eintrag und in welcher Sprache?
- Anzeige von Daten, die in mehreren Wikis verwendet werden (Plan: automatische Erzeugung der Fakten-Boxen auf Wikipedia vgl. https://it.wikipedia.org/wiki/Terra)
Auch andere Anwender können Wikidata für ihre Zwecke nutzen. Beispielsweise nutzt Google Wikidata.
Was ist Wikibase?
Wikibase ist die Software für Wikidata. Es handelt sich um eine Webapplikation mit mehreren Komponenten. Komponenten mit Web-Oberfläche sind
- MediaWiki
- Dies ist die Wiki-Software, die für die Wikimedia-Wikis entwickelt wurde. Wikibase erweitert das Wiki um Formulare, mit denen man die Wissensdatenbank bearbeiten kann.
- Wikdata Query Service
- Dies ist die Software für Abfragen auf der Wikidata-Datenbank.
Die Wikimedia Foundation stellt die Software ‚Wikibase‘ auch zum Download zur Verfügung. Man kann sie herunterladen und für eigene Projekte verwenden. Wir werden eine eigene Installation benutzen und eine eigene kleine Wissensbasis aufbauen.
Ein kleines Beispiel unserer Wissensmodellierung
Wir verwenden in dieser Einführung das folgende Beispiel für die Wissensmodellierung:
Elemente der Wissensmodellierung (wie die formale Sprache von Wikibase aufgebaut ist)
Elemente der Wissensmodellierung sind
- Values
- Entitäten
- Items (z.B. „Erde“, „Mount Everest“)
- Properties (z.B. „höchster Punkt“)
- Datatypes
- DataValues
- Entitäten
- Statements (z.B. „Erde – höchster Punkt – Mount Everest“)
Wikidata-Items (Thema, kann in verschiedenen Sprachen unterschiedlich ausgedrückt werden)
Ein Item (deutsch: Datenobjekt) wird in Wikidata verwendet, um Dinge des menschlichen Wissens zu repräsentieren. Das können auch Themen und Konzepte sein. Beispiele sind
- "Liebe" https://www.wikidata.org/wiki/Q316
- "Mount Everest" https://www.wikidata.org/wiki/Q513
- "britische Mount-Everest-Expedition 1953" https://www.wikidata.org/wiki/Q4567715
Items werden eindeutig durch Q und eine Nummer identifiziert. Beispielsweise steht Q2 in Wikidata für „Erde“ | „Terra“ | „Earth“ |… (https://www.wikidata.org/wiki/Q2). Zusätzlich zu dieser Nummer, die das Objekt eindeutig identifiziert, kann man für die menschliche Benutzung (und auch für die maschinelle Auswertung) folgende Information hinzufügen:
- ein Label (Etikett, Name)
- eine Beschreibung und
- einen oder mehrere Alias-Bezeichnungen.
vgl. https://www.wikidata.org/wiki/Help:Items (14.4.2022)
Wikidata-Eigenschaften
Eigenschaften (englisch: properties) werden in Wikidata benutzt, um Beziehungen zwischen Entitäten und Values auszudrücken. Jede Eigenschaft wird durch eine ID referenziert, die mit P anfängt. Beispielsweise steht in Wikidata P610 für „höchster Punkt“. Jede Eigenschaft kann ebenso wie Wikidata-Items mit Eigenschaften beschrieben werden.
Wikidata-Aussagen
Statements sind Aussagen über Entitäten. Sie haben die Grundform (Subjekt,Prädikat,Objekt) – auch Subjekt-Prädikat-Objekt-Tripel genannt.
- Subjekt: <Entity>
- Prädikat: <Property>
- Objekt: <Values>
Beispiele der möglichen Argumente:
| Argument | Typklasse | Typ | Beispiel in Wikidata |
|---|---|---|---|
| Subjekt | <Entity> | Item | "Erde" - Q2 |
| Prädikat | Property | "höchster Punkt" - P610 | |
| Objekt | <Value> | Item | "Mount Everest" - Q513 |
Qualifikatoren
Qualifikatoren (englisch: qualifiers) werden in Wikibase benutzt, um eine Aussage über eine Entität näher zu beschreiben. Es handelt sich um zusätzliche Property-Value-Paare. Beispiel:
- ((Erde, höchster Punkt, Mount Everest) – Bestimmungsmethode: Meereshöhe) (in semi-formaler Schreibweise)
- ((Erde, höchster Punkt, Mount Everest), Bestimmungsmethode, Meereshöhe) (in der Tripel-Schreibweise, das Subjekt ist hier eine Aussage)
Quellenangaben
Quellenangaben (englisch: references) werden in Wikibase benutzt, um einer Aussage eine Quellenangabe hinzuzufügen. Beispiel
- (Erde, ist, Scheibe) – Quelle 1
- (Erde, ist, Kugel) – Quelle 2
- (Erde, ist, abgeflachte Kugel) – Quelle 3
Rang
Eine Spezifikation des Ranges (englisch: rank) (mögliche Werte: preferred, normal, deprecated - veraltet) kann ebenso zu einer Aussage hinzugefügt werden.
Annotationen
Die Annotationen von Aussagen mit Qualifikatoren, Quellenangaben und Ranks liefern wichtige Kontextinformation. Sie ermöglichen es, auch unterschiedliche Weltsichten in ein und derselben Datenbank darzustellen. So kann eine Datenbank auch mit der Veränderung des Wissens „mitwachsen“.
RDF und SPARQL
Die Datenbank arbeitet mit dem Graph-basierten Datenformat RDF (Resource Description Framework) und der Abfragesprache SPARQL für RDF-Graphen. Wir bearbeiten die Daten für die Datenbank mit den Formularen im Wiki. Die RDF-Graphen werden aus den Eingaben in diese Formulare automatisch erzeugt. Die Abfragen an die Datenbank werden wir aber in SPARQL formulieren.
Queries: Abfragen an die Datenbank
Mit einer Query können wir das System abfragen. Wir können z.B. fragen: „Was ist der höchste Punkt der Erde?“ Um die Query richtig zu stellen, müssen wir immer auf die Item-Property-Value-Struktur achten. In diesem Beispiel ist „Erde“ unser Item (Subjekt des Datensatzes), „höchster Punkt“ ist die Eigenschaft oder das Prädikat und wir suchen nach einem Value oder nach einer bestimmten Entität.
| In unserer Datenbank steht: | wir suchen: |
Eine enstprechende Anfrage an Wikidata (https://query.wikidata.org/) lautet in SPARQL:
#höchster Punkt der Erde – Wikidata
SELECT ?item ?itemLabel
WHERE
{
wd:Q2 wdt:P610 ?item.
SERVICE wikibase:label { bd:serviceParam wikibase:language „[AUTO_LANGUAGE],en“. }
}
- Mit SELECT sagen wir dem System, was wir suchen.
- Mit WHERE bestimmen wir die Konditionen der Suche, d.h.: Suche nach einem Item, das der höchste Punkt der Erde ist.
- wd und wdt sind Präfixe. Sie stehen als Abkürzung für
Entitäten werden in RDF nämlich mit URIs (uniform ressource identifiers) bezeichnet, die die Entität eindeutig bestimmen. Die URIs für „Erde“ in Wikidata und „höchster Punkt“ in Wikidata lauten vollständig
Die URIs sind keine URLs, sie werden in Wikidata aber zusätzlich auf Wiki-URLs abgebildet (z.B.http://www.wikidata.org/entity/Q2 → https://www.wikidata.org/wiki/Q2)
Die Abkürzungen für Wikidata-URIs sind bereits im System hinterlegt. Wenn man die Abkürzungen verwendet, ohne anzugeben, wofür die Abkürzungen stehen, werden die hinterlegten Standardwerte verwendet. Das heißt: eine Abfrage geht dann an Wikidata. Für unsere eigene Installation müssen wir die Präfixe am Beginn der Query definieren. Die Query in unserem eigenen System lautet:
#höchster Punkt der Erde
PREFIX wdt: <https://websites.fraunhofer.de/wikibase-pigafetta/prop/direct/>
PREFIX wd: <https://websites.fraunhofer.de/wikibase-pigafetta/entity/>
SELECT ?item ?itemLabel
WHERE
{
wd:Qx wdt:Py ?item.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
An die Stelle von 'x' und 'y' müssen wir die Nummern schreiben, die die Entitäten in unserem System erhalten haben. Von unserem Objekt möchten wir auch statt 'Q + Zahl' eine Definition haben, deswegen fragen wir auch nach dem itemLabel. Ein Label beschreibt das Item. Ein weiteres Beispiel: Hier ist „Q905“ das Item (Franz Kafka), „P800“ ist die Eigenschaft oder das Prädikat (bedeutendes Werk) und wir suchen nach Kafkas bekanntesten Werken. Durch Label und Description wird das Item beschrieben.
#Werke von Franz Kafka
SELECT ?item ?itemLabel ?itemDescription
WHERE
{
wd:Q905 wdt:P800 ?item .
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
Quelle: https://www.mediawiki.org/wiki/Wikibase/DataModel/Primer Tutorial: https://wdqs-tutorial.toolforge.org/