Shortcut: WD:PST

Wikidata:Primärquellenwerkzeug

From Wikidata
Jump to navigation Jump to search
This page is a translated version of the page Wikidata:Primary sources tool and the translation is 100% complete.

Das Primärquellenwerkezug ermöglicht einen Arbeitsablauf zum Einpflegen von Datenspenden, bei dem Bearbeiter Daten prüfen, bearbeiten oder zurückweisen können, die der Gemeinde angeboten werden. Der Arbeitsablauf ist in Wikidata eingebettet.

Versuch es selbst

  1. gehe zu deinen Helferlein;
  2. markiere den Primary Sources-Punkt (Wikidata-centric-Abschnitt) und drücke den Save-Knopf am Seitenende;
  3. klicke auf das Zahnradsymbol neben dem Random Primary Sources item-Verweis in der linken Seitenleiste;
  4. wähle einen Datensatz wie strephit-confident, soweego, freebase oder $code4;
  5. Du kannst das Werkzeug auf dreierlei Weise ausprobieren:
    1. der Random page-Verweis in der Seitenleiste zeigt ein einzupflegendes Objekt;
    2. der Primary Sources list-Verweis in der Seitenleiste (Tools-Abschnitt) ermöglicht das Filtern nach Datensatz und Eigenschaften;
    3. ein Objekt deiner Wahl.

N.B.: Wikidata-Gadgets sind in JavaScript geschrieben, stelle also bitte sicher, dass du ihre Ausführung in deinem Browser aktiviert hast.

Vorschlag zur Verbesserung des Primärquellenwerkzeugs

Die erste und aktuelle Version des Primärquellenwerkzeuges geht auf die Spende von Freebase durch Google zurück.[1] Basierend auf den Rückmeldungen der Gemeinschaft seit der Entwicklung als Wikidata-Gadget[2][3][4] machte das StrepHit-Team einen radikalen Verbesserungsvorschlag, der zur nächsten Version des Tools führen wird.

Beta-Version des Primärquellenwerkzeuges

Merke: Alle in diesem Dokument erwähnten Attrappen sind auf phab:M218 zugänglich.

Code-Basis der Version 1

  • Unterbau: Geschrieben in C++, mit SQL-Speicherlösung, als ein Webdienst über REST-APIs im Einsatz;[5]
  • Überbau: Geschrieben in JavaScript, als Wikidata-Helferlein im Einsatz.[6]

Ziele

Das allgemeine Ziel ist es, das Tool selbsttragend zu machen. Um dies zu erreichen, liegen die höchsten Prioritäten auf:

  • Webstandards;
  • Stabilität, z. B. Entscheidungen, die von der Wikidata-Richtlinie für stabile Schnittstellen betroffen sind;[7]
  • Übernahme der Programmiersprachen durch die Wikidata-Gemeinschaft.

Außerdem soll das Tool das bevorzugte Mittel zur Datenfreigabe von Drittanbietern werden.[8] Dies macht ein Standardfreigabeverfahren noch wichtiger.

Arbeitsablauf für Benutzer

Der Benutzer kann eine durch das Tool vorgeschlagene neue Aussage genehmigen oder zurückweisen:

  1. Auf einer Objektseite wird die vorgeschlagenen Aussage mit einem blauen Hintergrund markiert;
  2. Der Benutzer kann dies genehmigen oder zurückweisen, indem er entsprechend auf "Behauptung genehmigen" oder "Behauptung zurückweisen" klickt;
  3. Anschließend wird die Seite im ersten Fall mit der neuen Aussage aktualisiert, im zweiten Fall ohne diese.

Außerdem kann das Tool neue Fundstellen für existierende Aussagen vorschlagen:[9]

  1. Die neue Fundstelle wird mit einem blauen Hintergrund markiert;
  2. Der Benutzer kann diese genehmigen oder zurückweisen, indem er entsprechend auf Fundstelle genehmigen oder Fundstelle zurückweisen klickt;
  3. Der Benutzer kann mit einem Tooltip in einer Vorschau sehen, woher die Fundstelle stammt, indem er auf Fundstellen-Vorschau klickt;[10][11]
  4. Wenn der Datensatz detaillierte Herkunftsinformationen enthält, z. B. den Textausschnitt, aus dem die Aussage entnommen wurde,[12] wird das Vorschau-Tooltip genau diese Information hervorheben;[13]
  5. Wenn die Interaktion von Frontend und Backend nicht funktioniert, zeigt das Tooltip eine Warnmeldung an.[14]

Einrichtung der Primärquellen

  1. Wenn der Benutzer das -Symbol neben den Link Random Primary Sources Item (siehe unten) im Hauptmenü des linken Seitenmenüs anklickt, öffnet sich ein Fenster;[15][16][17]
  2. Der Benutzer kann nach Datensätzen suchen und auswählen, welche er nutzen möchte;
  3. Es werden die grundlegenden Informationen Datensatzbeschreibung, Fehlende Aussagen und Alle Aussagen angezeigt;
  4. Der Benutzer kann entweder Speichern oder Abbrechen auswählen.

Zufälliger Primärquelleneintrag

  1. Der Benutzer kann zu einem zufälligen Datenobjekt springen, für das vorgeschlagene Aussagen verfügbar sind, indem er auf den Link Random Primary Sources Item im Hauptmenü des linken Seitenmenüs klickt;
  2. Das Datenobjekt wird zufällig aus den ausgewählten Datensätzen der Einrichtung der Primärquellen ausgewählt.

Primärquellen durchstöbern

  1. Der Benutzer kann sich die vorgeschlagenen Aussagen ansehen, die sich über das Menü Browse Primary Sources im linken Seitenmenü nach Eigenschaften sortieren lassen, indem man auf den entsprechenden Eigenschaftslink klickt;
  2. Der Benutzer kann durch Klicken auf Zurück nach oben rechts unter dem Menü Browse Primary Sources im linken Seitenmenü wieder auf den Anfang der Seite kommen.

Filter-basiertes Werkzeug

Ein ähnlicher Workflow existiert für ein filterbasiertes Tool, das sich im Menü Tools im linken Seitenmenü befindet.

  1. Wenn der Benutzer auf den Link Primary Sources Filter (derzeit Primary Sources List) klickt, öffnet sich ein Fenster;[18]
  2. Der Benutzer kann sich eine Tabelle vorgeschlagener Aussagen mit möglichen Fundstellen ansehen, indem er auf unterschiedliche Weise Filter erstellt:
    • Interessensgebiet: Der Benutzer gibt ein Gebiet an, für das er sich interessiert und erhält automatisch Vorschläge für einfache Einschränkungen, gewöhnlich für die Eigenschaft instance of (P31). Zum Beispiel eine Liste aller Objekte die eine chemical compound (Q11173) sind;
    • Eigenschaft: Der Benutzer gibt eine Eigenschaft an, für die er sich interessiert und erhält basierend auf den Bezeichnungen der Eigenschaften automatisch Vorschläge. Dieser Filter zeigt dann nur vorgeschlagene Aussagen mit der angegebenen Eigenschaft an. Zum Beispiel eine Liste mit date of birth (P569);
    • SPARQL Query: Der Filter ist für erfahrene Benutzer gedacht und erlaubt beliebige SPARQL-Abfragen;
    • Sprache: Zeigt nur Aussagen in der ausgewählten Sprache an;
    • Datensatz: Lässt den Benutzer einen oder mehrere bestimmte Datensätze auswählen, vergleichbar mit der Einrichtung der Primärquellen.

Nach dem Einrichten der Filter zeigt das Tool eine Tabelle mit Aussagen, wobei der Benutzer Aussagen entweder genehmigen oder zurückweisen kann, nachdem wie im Abschnitt "Arbeitsablauf für Benutzer" eine Vorschau der Fundstelle angezeigt wurde. Die Genehmigungen oder Zurückweisungen können blockiert werden, wenn die Fundstellen-Vorschau nicht geöffnet wird.[19]

Architektur

Allgemeiner Architektur-Vorschlag für Version 2 des Wikidata-Primärquellenwerkzeugs, basierend auf StrepHit

Unterbauimplementierung

Datenformat

Das Tool akzeptiert derzeit in QuickStatements (Q20084080) serialisierte Datensätze. Obwohl es sich um ein sehr kompaktes Format handelt, das zum Hochladen großer Datensätze geeignet ist, ist dies unüblich: Die einzige verfügbare Dokumentation befindet sich auf der Seite zu QuickStatements selbst.[20] Daher ist die Unterstützung stabiler Formate, sowohl für die Selbststabilität des Projektes als auch für einen standardisierten Arbeitsablauf für Datenspenden, vorgesehen. Trotzdem wird die Unterstützung von QuickStatements beibehalten.

Datensätze von Drittanbietern sollten im RDF-Format serialisiert werden und dem Wikidata-RDF-Datenmodell entsprechen.[21] Wir glauben aus zwei Gründen, dass dies der Standardweg ist:

  1. RDF ist ein ausgereifter Webstandard und seit 1999 eine W3C-Empfehlung;[22]
  2. Das Wikidata-RDF-Exportformat soll stabil sein.[23]

Hauptkomponente

Aufgrund dieser Annahmen ist der Wikidata Query Service[24] gut als Backend geeignet, da er:

  • einen RDF-Dreifachspeicher, d. h. Blazegraph als Speicher-Engine verwendet;[25]
  • eine stabile öffentliche Wikidata-API ist;[26]
  • in Java geschrieben ist, einer im Vergleich mit der aktuellen Implementierung in C++ weiter verbreiteten Programmiersprache;
  • über Funktionen zum Hochladen von Datensätzen im Wikidata-RDF-Dumbformat verfügt;[27]
  • APIs für den Datenabruf via SPARQL anbietet, was sowohl für den Domainfilter als auch für Funktionen des Abfragetextfeldes nützlich ist.[28]

Das Haupttool wird vollständige Aussagen unterstützen, während das filterbasierte Tool mit wahren Aussagen gespeist werden soll.

Aufnahme-API

Die Aufnahme-API ist für die Interaktion mit Daten-Drittanbietern verantwortlich. Eingehende Datensätze werden mit dem Wikidata-RDF-Datenmodell validiert. Anschließend werden die folgenden Funktionen für Datensätze bereitgestellt:

  • hochladen;
  • aktualisieren;
  • fallen lassen.

Wartungs-API

Die Wartungs-API ist für die Interaktion mit Wikidata-Nutzern verantwortlich und hat zwei Hauptfunktionen. Es schlägt Behauptungen zum Ergänzen vor und kennzeichnet abgelehnte Vorschläge im Backend-Speicher.

Überbauimplementierung

Das Hauptziel der Selbststabilität liegt darin, zu verhindern, dass das Frontend beschädigt wird, wenn die Wikidata-Benutzeroberfläche verändert wird. Um dies zu erreichen wird das derzeitige Gadget eine MediaWiki-Erweiterung für Wikibase (Q16354758) werden. Eine umfassende Überarbeitung des Codes ist unerlässlich und wird:

  • Testeinheiten enthalten. Bei Änderungen der Wikidata-Benutzeroberfläche werden Fehler erwartet, die die Wikidata-Build zerstören und nicht das Tool;
  • die Unterscheidung zwischen der Interaktion mit dem Backend und mit den Benutzern klarer machen;
  • die HTML-Vorlagen portieren.

Der Code wird, wie bei MediaWiki-Erweiterungen üblich, auf zwei Komponenten aufgeteilt sein, einen in PHP und einen in JavaScript geschriebenen.

PHP-Komponente

Die PHP-Komponente wird nur für die Einstellungen der Erweiterung zuständig sein. Alles andere erledigt die JavaScript-Komponente.

JavaScript-Komponente

Die JavaScript-Komponente wird:

  • die letztendliche Darstellung der Vorlagen erzeugen. Genauer: Es wird bei Bedarf die Vorlage an die bestehenden Aussagen eines Objektes anfügen;
  • die Interaktion mit dem Benutzer besorgen. Genauer: Es wird
    • dem Software-Unterbau die Zustimmung oder Ablehnung einer vorgeschlagenen Aussage oder Referenz mitteilen,
    • eine akzeptierte Aussage oder Referenz über die MediaWiki-API hinzufügen,[29]
  • im Abschnitt „Arbeitsablauf für Benutzer“ beschriebene Funktionen umsetzen.

Einzelnachweise