# WDRD22summaries

Zusammenfassung von ausgewählten Wikidata Data Reuse Days 2022 Sessions anhand von Fragen (Aufgabe als Teil der diesjährigen LV Open Knowledge im Studiengang Informationsmanagement der HsH)
* Welches Tool oder Methode wird vorgestellt?
* Welche Funktionen hat das Tool?
* Wofür kann das Tool eingesetzt werden? Einen Use Case überlegen
Sessions siehe unten (Achtung! Für manche Sessions sind Programmierkenntnisse hilfreich):

## Wikxhibit

Wikxhibit ist ein Werkzeug, um Daten aus Wikidata mithilfe einer HTML basierten Website darzustellen. Dazu ist lediglich eine HTML Seite nötig. Mithilfe einer Java Script Bibliothek, die im HTML Header eingebunden wird, werden neue Applikationen freigegeben, die die Verbindung zu Wikidata und dessen Daten ermöglicht.
Es stehen nun die Daten aus Wikidata zur Verfügung und die gewünschte Webseite kann kreiert werden, um die Wikidata Daten auf neue Weise darzustellen.
Anwendungsbereiche sind beispielsweise themen-, personen- oder eventbezogene Webseiten. Es ist mit Wikxhibit auch möglich Daten von anderen Webseiten einzubinden. Wenn beispielsweise eine HTML Seite mithilfe von Wikxhibit über einen Künstler/eine Künstlerin erstellt wird, ist es möglich, über seine/ihre Spotify- oder YouTube-Kanäle Musik und Videos einzubinden, um ein komplexeres Bild über den Künstler/die Künstlerin zu schaffen. Wikxhibit erlaubt es Personen einfach, schnell und ohne erweiterte Programmierkenntnisse interessante und aussagekräftige HTML Webseiten zu schaffen, die mithilfe von verlinkten Daten von Wikidata verifiziert sind.
Teste Wikxhibit hier: www.wikxhibit.org

## How to retrieve Wikidatas data

Wikidata ist eine frei verfüg- und bearbeitbare Wissensdatenbank. Sie enthält mehr als 100 Mio. Objekte und 650.000 Lexeme. Um an diese Daten zu kommen gibt es verschiedene Wege. Abhängig von der Art und Weise der Umsetzung und der Anforderungen, sind manche Verfahren besser als andere. Der Fokus liegt hierbei auf Anwendungen und Diensten außerhalb des Wikimedia-Projekts. Ausführlichere Informationen finden sich in den folgenden Abschnitten, in der Aufzeichnung oder den Slides der Session.

### Network best practices

Es bietet sich an im Rahmen der Nutzung der Wikimedia-Server und Services über das Internet, sich an folgende "Best Practices" zu halten:
* Befolgen der User-Agent policy
* Befolgen der Robot policy
* Beim nutzen von APIs befolgen der API:Etiquette
* Warten bis zum Ausführen erneuter Requests sollte ein HTTP 429 Too Many Requests response Error erscheinen

### Wikidata Query Service a.k.a WDQS

Der Wikidata Query Service lässt sich auf verschiedene Weisen benutzen. Über den Link erreicht man die Benutzeroberfläche, aber es besteht auch die Möglichkeit mittels GET und POST requests über die API unter https://query.wikidata.org/sparql Querys durchzuführen. Dieser Service lässt sich gut nutzen, wenn die spezifischen Entitäten für die man sich interessiert, unbekannt sind aber ihre beschreibenden Eigenschaften bekannt sind.
Der Wikidata Query Service sollte nicht genutzt werden für Text und schwammige Suchen (Fuzzy Search) oder wenn mehrere Millionen Nutzer queries in einer Applikation ausführen die den WDQS nutzt wenn das erwartete Ergebnis einen enormen prozentualen Anteil der gesamten in Wikidata enthaltenen Entitäten ausmacht.
Mit dem WDQS lassen sich auch Queries zu unterschiedlichen SPARQL-Endpoints verbinden. Zudem erlaubt das WDQS, dass aufsetzen einer eigenen Instanz, welches Timeouts und andere technische Begrenzungen verhindert. Außerdem besteht die Möglichkeit Visualisierung von Live-Ergebnissen einer Query auf anderen Webseiten einzubetten. Auf der Benutzeroberfläche findet man weitere Code-Snippets für verschiedene Programmiersprachen.
Tool das den WDQS verwendet:
* Scholia
* scholia.toolforge.org
* github.com/WDscholia/scholia

### Linked Data Fragments a.k.a LDF

Der Linked Data Fragments Endpoint lässt sich über query.wikidata.org/bigdata/ldf erreichen. Hierbei handelt es sich um einen experimentellen Service mit wenig support. Die Idee dahinter ist es minimale Serverressourcen zu verwenden und den Großteil der Berechnungen Client seitig durchzuführen. Der LDF-Service eignet sich vor allem wenn das erwünschte Ergebnis eine Liste von Objekten ist, die auf "triple patterns" aufbaut (Bsp.: instance of human) und das zu erwartende Ergebnis einen größeren Umfang hat. Dieser Service sollte nicht genutzt werden wenn stabile Endpoints oder ein vollstädniges Ergebnis-Set benötigt wird.

### Linked Data Interface

Das Linked Data Interface bietet sich an kleine Datensätze als Ergebnis gewünscht sind (vor allem RDF Daten), die IDs der gewünschten Objekte bereits bekannt sind und das Ergebnis aus der gesamten Entität bestehen soll. Als Ergebnisdatenformat stehen zur Verfügung:
* .json - JavaScript Object Notation
* .rdf - Resource Description Framework
* .ttl - Turtle
* .nt - N-Triples
* .jsonld - JavaScript Object Notation for Linked Data
Um diese Daten zu erhalten, muss lediglich die URI mit der ID des gewünschten Objekts erweitert werden (Bsp.: wikidata.org/entity/{ID} zu wikidata.org/entity/Q42). Das gewünschte Datenformat lässt sich forcieren in dem die bereits um die ID erweiterte URI mit dem Datenformat erweitert wird (Bsp. wikidata.org/entity/Q42.json). Spezifische Revisionen lassen sich mit einem ?revision=112 Appendix der URI durchführen. Eine weniger ausführliche Ausgabe lässt sich mit dem anfügen von ?flavor=dump an die URI erzielen (nicht für .json geeignet). URLs ohne ?revision geben immer die aktuellsten Daten aus. LDF sollte nicht verwendet wenn die gewünschten Entitäten unbekannt sind oder große Mengen an Daten gewünscht sind. Beispielprojekt welches das Linked Data Interface verwendet:
* OpenAlex
* openalex.org
* github.com/ourresearch/openalex-guts

### Search (Elastic)

Der Search-Endpoint baut auf Elasticsearch und bietet zum einen eine Benutzeroberfläche und eine API unter wikidata.org/w/api.php?action=query&list=search an. Die Nutzung bietet sich vor allem an wenn bei der Suche ein spezifischer String verwendet wird und der Name der gesuchten Objekte bekannt ist. Die Suche lässt sich, aufbauend auf einfachen Verbindungen der Daten, filtern. Mithilfe für Wikidata spezifischer Keywords lasst sich die Suche stark verbessern:
* haswbstatement - Inkludiert oder Exkludiert Objekte mit einem spezifischen Statement (funktioniert nicht mit Subklassen; muss das exakte Statement sein)
* inlabel - Sucht nach einem Textstring in einem Label
* wbstatementquantity - Findet Objekte basierend auf der angegeben Menge
* hasdescription - Ergebnis soll/soll nicht Beschreibung enthalten
* haslabel - Ergebnis soll/soll nicht Label enthalten
Beinhaltet die Suche komplexe Verbindungen innerhalb der Daten ist die Suche mit Search ungeeignet.

### Action API

Bei der Action API handelt es sich um eine auf der klassischen MediaWiki Action API aufbauende API, die im Gegensatz zum Linked Data Interface auch Fragmente von Objekten als Ergebnis erlaubt (z.B nur labels, nur descriptions, usw). Zusätzlich wurde die API erweitert um Wikibase-spezifische Aktionen zu ermöglichen. Die API ist nutzbar unter wikidata.org/w/api.php und unter Special:ApiSandbox lässt sich die API explorativ erkunden. Die Action API eignet sich vor allem für die Editierung von Wikidata oder wenn JSON Daten von einem Haufen von Objekten benötigt werden (bis zu 50 Objekte pro request). Mit dem props Parameter lassen sich Filter für Teilelemente der Entitäten setzen (labels, descriptions, claims, usw). Die Wikidata Benutzeroberfläche nutzt die Action API für sämtliche Änderungen. Sind große Datenmengen oder Abschnitte von Objekten gewünscht, sollte lieber ein Dump verwendet werden. Sollte das Ergebnis die aktuellen Stände von Objekten in JSON sein, bietet es sich eher an das Linked Data Interface zu nutzen. Beispielanwendung die auf der Action API aufbaut:
* Monumental
* monumental.toolforge.org
* github.com/hatnote/monumental

### Dumps

Bei Dumps handelt es sich um große Mengen von Daten. Die Dumps von Wikimedia finden sich unter dumps.wikimedia.org und liegen in unterschiedlichen Dateiformaten vor (JSON, RDF, XML). Dumps eignen sich vor allem wenn große Datenmengen einzelner Objekte benötigt werden oder ein eigener query-service aufgesetzt werden soll (z.B. ein eigenständig gehosteter WDQS). Wikimedia speichert nur Dumps der letzten drei Monate. Sind ältere Stände gewünscht, findet im Internet Archive oder über torrents. Dumps sollten nicht verwendet werden, wenn ungenügende Bandbreite, geringe Speicherkapazität oder geringe nur Rechenleistung zur Verfügung steht. Sollten aktuelle Daten benötigt werden ist vom verwenden von Dumps ebenfalls abzuraten. Beispielprojekt welches Dumps verwendet:
* Wikitrivia
* wikitrivia.tomjwatson.com
* github.com/tom-james-watson/wikitrivia

### Recent changes stream

Der recent changes stream erlaubt es in Echtzeit zu verfolgen, welche Änderungen auf Wikimedia durchgeführt wurden. Unter stream.wikimedai.org ist der Stream erreichbar. Die Nutzung des Streams bietet sich an wenn auf Änderungen in Echtzeit reagiert werden muss oder man einfach Up-To-Date sein möchte bei allem was auf Wikidata passiert (für den eigenen Query-Dienst). Der Stream gibt die Daten aller Wikis zurück lässt sich aber Clientseitig filtern, wenn z.B. nur Änderungen an Wikidata verfolgt werden sollen. Es lassen sich Eventtrigger anlegen für z.B. Änderungen an Entitäten. Zusätzlich bietet der Stream eine Benutzeroberfläche mit einer Übersicht der Funktionen und Beispielen. Beispielprojekt das auf dem RCS aufbaut:
* Listen to Wikipedia
* listen.hatnote.com
* github.com/hatnote/listen-to-wikipedia

## Wikidata Query Service

Der Wikidata Query Service ist ein Tool, um gespeichertes Wissen in Wikidata abzufragen.
Mithilfe des Wikidata Query Service können vorgefertigte oder individuelle SPARQL-Abfragen getätigt werden, um Ergebnisse aus der Wikidata-Datenbank zu erhalten. Um Queries (Abfragen) in WDQS zu erstellen, werden Kenntnisse in der Abfragesprache SPARQL benötigt.
Wichtig für die Abfrage ist es, die Variablen anzugeben die in der Ergebnisanzeige dargestellt werden sollen und auch die Variablen zu definieren nach denen gesucht werden soll. Letzteres wird in Trippeln dargestellt. Ein Tripple wird wie ein Satz aufgebaut und enthält ein Subjekt, ein Prädikat und ein Objekt. Außerdem können die Suchergebnisse unter anderem nach Anzahl und Sprache begrenzt oder auch sortiert werden. In WDQS kann beispielsweise nach beliebten Vornamen im Geburtsort Hamburg gesucht werden. Beispiel
Die gefundenen Suchergebnisse werden als Liste, Maps, Charts oder in anderen Arten dargestellt und können heruntergeladen und geteilt werden. Außerdem werden Codes in verschiedenen Programmiersprachen bereitgestellten, um die Ergebnisse in Webseiten oder anderen Anwendungen integrieren zu können.

## Scholia

„Schola“ ist ein Dienst, der anhand von bibliografischen und anderen Informationen in Wikidata visuelle wissenschaftliche Profile für Themen, Personen, Organisationen, Arten, Chemikalien usw. erstellt. Der Datenbestand von Scholia wird aus Wikidata entnommen und enthält nicht nur dieselben Bezeichnung und Inhalte, sondern auch den gleichen Datensatz-ID. Der Hauptvorteil von diesem Tool ist, dass die Daten bzw. Inhalte aus Wikidata z.B. mithilfe von Tabellen, Histogrammen, Blasendiagramme, Zeitleisten oder Grafiken visualisiert werden, wobei das Verständnis dieser Inhalte für die Nutzer erleichtert wird. Die Visualisierung erfolgt durch Wikidata Query Service.
Scholia wird oft für den Umgang mit Zitationen eingesetzt und für das Herausfinden von Informationen und Fakten über einen bestimmten Autor. Mit diesem Tool lassen sich die Publikationen pro Jahr, die Koautoren sowie deren Land und die oft behandelten Themen eines Autors leicht auffinden (ein Beispiel).
Die weiteren Informationen zu Scholia finden Sie hier.

## Wikidata for data journalism (with R)
### Tidyverse

Das Tidyverse ist eine Weiterentwicklung von der Programmiersprache R. Eine Sammlung von Packages, die bei unterschiedlichen Aspekten der Datenverarbeitung helfen und auf einer konsistenten Grammatik basieren. Das Ziel ist es, die Interaktion mit Wikidata zu erleichtern. Es können Daten in einem ordentlichen Format aus Wikidata herausgefiltert werden, um beispielsweise Straßen, die nach Personen benannt wurden, abzugleichen und deren Geschlecht, Geburtsdatum oder ihr Beruf tabellarisch aufzubereiten. Wie? Tidyverse wird auch eingesetzt um darzustellen wie Flugrouten, mit dem Zug befahren werden könnten. Diese Daten werden nach dem Konzept des Tidy Data folgendermaßen aufbereitet:
Alles in tabellarischer Form
* Jede Variable steht in einer eigenen Spalte.
* Jede Beobachtung steht in einer eigenen Zeile.
* Jeder Wert steht in einer Zelle.

## Science-Stories.io

Die Science Stories ist ein Tool für das Abfragen der Information über diverse Wissenschaftler und deren Fachgebiete. Die Vermittlung wissenschaftlicher Informationen, welches die User einfach über den Browse Button abrufen können, ist die primäre Funktion des Tools. Information und Daten über wissenschaftliche Arbeiten, welche im Internet (als Open Source) schwer zu finden sind, kann man mit Hilfe dieses Tools ganz einfach entdecken. Man kann entweder ganz zufällig eine Sample Story (Beispielgeschichten) abrufen oder gezielt nach einem Wissenschaftler suchen. Da es eine Open Source ist, wurde ein Donate-Button hinzugefügt, um den Entwicklern der Webanwendung finanziell Hilfe zu leisten. Verschiedenste Bibliographien (182 Themen werden aufgelistet - das Topic "Frauen in der Wissenschaft") können auch mit dem Tool entdeckt werden. Auf der Startseite hat man in dem Reiter auch GitHub als Button hinzugefügt und kann somit diverse Repositorien über die Webanwendung abrufen (mehrere Source-Codes für die Webanwendung abrufbar - für technisch versierte User).
Das Tool kann für wissenschaftliche Arbeiten sehr gut eingesetzt werden, da man ganz gezielt nach diversen Wissenschaftler forschen und deren Arbeiten und Erfolge durch die gute Übersicht abrufen kann. Diese kann aber auch für Eigeninteresse eingesetzt werden. Da auf der Startseite bestimmte Interaktionen der Wissenschaftler (über Tweets auf Social Media) angezeigt werden, erfahren die User auch aktuelle News über diverse Wissenschaftler. Geburtstage und andere wichtige Informationen werden auch direkt auf der Startseite als Highlights angezeigt.
Wichtige Links für die Forschung mit dem Tool
* bestimmte Wissenschaftler suchen
* Bibliographien
* das Backend (technisch)

## Histropedia

Histropedia ist ein Tool zur Darstellung von historischen Ereignissen. Das jeweilige Thema wird dabei in einer Timeline (Zeitstrahl) abgebildet. Derzeit existieren ca. 300.000 dieser Timelines. Die zeitliche Darstellung eines Themas ermöglicht es dem Anwender, visuell zeitliche Geschehen zu erfassen und einzuordnen. Die jeweiligen Ereignisse auf der Timeline sind mit Daten aus Wikidata hinterlegt.
Beim Anklicken dieser Ereignisse werden dem Nutzer zusätzliche Informationen vorgeschlagen. Unter Anderem kann man sich einen Wikipedia Artikel oder ein YouTube Video ansehen. Neben der Auswahl einer einzelnen Timeline können auch Verknüpfungen unterschiedlicher Timelines durchgeführt werden. Die selbst erstellten Timelines können anschließend weltweit geteilt werden. Eigene Daten können mithilfe eines auf JavaScript basierendem Tools für Histropedia transformiert werden. Durch das Erstellen mehrerer Timelines können verschiedene Ereignisse miteinander verglichen werden.
Beispiel:
Hat die politische Lage eine Auswirkung auf die Werke von Autoren?
1. Timeline: politische Ereignisse in einem Zeitraum
2. Timeline: Schriftsteller und ihre Werke
Bei der Verwendung eines zeitlich gesteuerten Imports von Wikidata für seine Timeline, besteht immer ein Risiko das Änderungen innerhalb von Wikidata (z.B. Löschen von Items, Updates) eine direkte Auswirkung auf alle Timelines mit diesen Daten haben und diese ggf. unbrauchbar werden. Weitere Informationen zu Histropedia finden Sie hier.

## Match and refine data with OpenRefine

Früher bekannt als GoogleRefine basiert auf Java und wurde im Jahr 2010 von Google LLC veröffentlicht und dann später als freie Software bereitgestellt. OpenRefine ist eine kostenlose leistungsstrake Open-Source-Software, mit der chaotische große Datenmenge verknüpft, geordnet, bereinigt, zergliedert und transformiert werden können. Die Datensätze können mit Wikidata abgeglichen und in Wikidata importiert werden. Das Tool arbeitet in Spaltendarstellung ähnlich einer Tabellenkalkulation und somit kann sich man schnell einen Überblick über den Inhalt eines Datensatzes verschaffen. Das Tool ist in mehr als 15 Sprachen verfügbar und ermöglicht verschieden Datenformate (wie CSV, XLS, JSON, XML und noch andere Datenformate) beim Import. Solange man die Daten nicht selbst teilt, hält Openreafine diese Daten privat auf dem eigenen Rechner.
Weitere ausreichende Informationen mit Tutorials findet man unter
* OpenRefine
* Daten sichten, bereinigen und integrieren mit OpenRefine
Hier erflogt das Herunterladen des Tools
* OpenRefine

## KGTK – Knowledge Graph Toolkit

* mit Python aufgebaute Bibliothek
* importiert Wissen (z.B. von Wikidata)
* exportiert/erstellt Listen und Diagramme
Mithilfe des KGTKs ist es beispielsweise möglich Daten zu validieren, zu sortieren, zu bereinigen, zu filtern und zu ersetzen. Das Ergebnis bildet eine Tabelle, sowie eine daraus resultierende graphische Darstellung. In dem Modell gibt es hierbei verschiedene Kanten und Knoten, die beliebig kombiniert werden können, sodass neue Verbindungen hergestellt und visuell dargestellt werden können. In der Arbeit mit Wikidata ermöglicht das KGTK mehrere Ebenen bzw. Informationen miteinander zu verknüpfen und Relationen mithilfe besagter Kanten und Knotenpunkte miteinander in Verbindung zu bringen.
So können zum Beispiel Autoren nicht nur mit einem ihrer Bücher in Verbindung gebracht werden, sondern mit dem Knowledge Graph Toolkit auch andere Publikation, Auszeichnungen des Autors, Publikationsdaten und mögliche Co-Autoren gefunden werden.
Die Installation auf einem Windows System muss beim KGTK Team angefragt werden und läuft danach in einer virtuellen Conda-Umgebung. Vorteil der Anwendung ist, dass diese sehr viel schneller als SPARQL arbeitet und auch auf dem eigenen Laptop in geringerer Zeit vergleichbare Ergebnisse erzielt.

## Wie Inventaire.io bibliografische Wikidata-Daten wiederverwendet und erweitert

inventaire.io ist eine Book-Sharing-Webanwendung, die jeden einlädt, seinen Buchkatalog zu erstellen und anzugeben, was er mit dem Buchkatalog machen möchte, ob verschenken, teilen, verkaufen und wer seinen Katalog sehen kann (öffentlich teilen oder nur anzeigen oder an Ihre Freunde und Gruppen).
inventaire.io ist auch ein Open-Data-Projekt zum Aufbau einer bibliographischen Datenbank, die sich auf CC0 Wikidata konzentriert. Diese kollaborative Datenbank wurde in erster Linie entwickelt, um die Bedürfnisse von Webapps zu erfüllen und von ihren Benutzern bereichert zu werden. Im weiteren Sinne erfüllt es die Mission von Inventaire: beginnend mit Büchern, der Nutzung freier Software und offener Wissenskartierungsressourcen.
* ↑ https://diff.wikimedia.org/event/%e2%99%bb%ef%b8%8f-how-to-retrieve-wikidatas-data/ 15.3. 17.00 UTC