Vereinfachte Eingabe von komplexen Daten in Wikibase

read this article in English

Datenmodelle können komplex sein und viele Klassen sowie Properties (oder Eigenschaften) enthalten, die miteinander verbunden sind – da verliert man schnell den Überblick. Gerade wenn man länger keine Daten mehr in einem Daten-Management-System wie Wikibase angelegt hat, kann es leicht passieren, dass man erst wieder die Datenmodell-Dokumentation lesen muss, bevor man loslegen kann.

Wikibase ist die freie Open-Source-Software, auf der Wikidata, die öffentliche Wissensdatenbank der Wikimedia-Bewegung, basiert. Wikibase ist ein bekanntes und weit verbreitetes Werkzeug in GLAM- und Forschungsdaten-Communities. Es ist beliebt wegen der Vielzahl an Funktionen, die es standardmäßig bietet, der großen Open-Source-Community, die Erweiterungen dafür entwickelt, und der Flexibilität, es an individuelle Datenanforderungen anzupassen. Diese Flexibilität kann jedoch auch zu Problemen bei der Benutzerfreundlichkeit führen.

Denn wenn man eine neue Entität für eine bestimmte Klasse anlegen möchte, weiß man auf den standardmäßig eingerichteten Wikibase-Seiten nicht:

  • Welche Informationen, die für diese Art von Entität zu erwarten wären, fehlen?
  • Welche Eigenschaft sollte für die jeweilige Information verwendet werden (zum Beispiel „Land“ vs. „Herkunftsland“)?

Genau für diesen Fall war es das Ziel, innerhalb einer Wikibase4Research-Instanz ein Formular für ein Datenmodell rund um Theaterproduktionen und Aufführungen zu entwickeln. Wikibase4Research ist ein individuell konfigurierbarer Docker-Container, der die Standard-Wikibase-Distribution erweitert. Er wurde vom Open Science Lab der TIB im Rahmen des NFDI4Culture-Konsortiums entwickelt und wird für Projekte wie die von der Universität Leipzig initiierte Performing Arts Database (PAD) genutzt.

Bei der Recherche nach geeigneten Lösungen für den PAD-Anwendungsfall sind wir auf forage gestoßen. Das User Script fügt jedem Wikibase-Item einen neuen Reiter hinzu, über den sich ein Formular öffnet, das alle für das aktuelle Item relevanten Properties anzeigt. Die Dateneingabe wird dabei durch vereinfachte Eingabefelder erleichtert.

Das Skript hat bei den ersten Tests sehr gut funktioniert, allerdings fehlten uns noch einige Features. Wir haben uns daher entschieden, das öffentliche Repository zu forken und eine Erweiterung zu schreiben. Das daraus entstandene Skript forage extended“ ist weiterhin Open Source und im Gitlab von Wikibase4Research für alle verfügbar.

Folgende Features wurden neu integriert:

  • Schema-basiertes Formularlayout:
    Eigenschaften werden über ein Konfigurationsobjekt nach Entitätstyp gruppiert und sortiert.
  • Neues Item anlegen für bestimmte Klasse:
    Beim Öffnen der „Formulare“ in Forage für ein leeres Element wird ein Bildschirm zur Klassenauswahl angezeigt; durch Anklicken einer Klasse werden die erforderlichen Eigenschaften automatisch gesetzt und das Formular neu geladen – dies kann im Konfigurationsobjekt festgelegt werden.
  • Unterstützung von Qualifikatoren:
    Konfigurierbare Qualifikator-Eingabefelder erscheinen direkt unter der übergeordneten Eigenschaft. (So kann beispielsweise ein Rollenname für die Eigenschaft Schauspieler:in direkt hinzugefügt werden.)
  • Validierung von Pflichtfeldern:
    Als Pflichtfelder markierte Felder werden mit einem roten Sternchen gekennzeichnet und in einem Warnbanner aufgelistet, bis ein Wert gespeichert wurde.

Das daraus entstandene Skript vereinfacht die manuelle Erfassung neuer Entitäten erheblich: Man muss nicht mehr selbst nach den richtigen Eigenschaften suchen, sondern hat sie immer direkt vor Augen.

Wir planen, „Forage Extended“ über einen Merge-Request an das Repository, in dem die Originalversion gehostet wird, wieder in das breitere Open-Source-Ökosystem einzubringen und damit anderen Mitgliedern der Wikibase-Community dabei zu helfen, ihre komplexen Daten einfacher einzugeben.

#Wikibase #Wikibase4NFDI #Wikibase4Research #SemanticWikibase #extension #forage #LizenzCCBY40INT