Shortcut: WD:PST
Wikidata:Primärquellenwerkzeug
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
- gehe zu
deinen Helferlein
; - markiere den
Primary Sources
-Punkt (Wikidata-centric
-Abschnitt) und drücke denSave
-Knopf am Seitenende; - klicke auf das Zahnradsymbol neben dem
Random Primary Sources item
-Verweis in der linken Seitenleiste; - wähle einen Datensatz wie
strephit-confident
,soweego
,freebase
oder $code4; - Du kannst das Werkzeug auf dreierlei Weise ausprobieren:
- der
Random page
-Verweis in der Seitenleiste zeigt ein einzupflegendes Objekt; - der
Primary Sources list
-Verweis in der Seitenleiste (Tools
-Abschnitt) ermöglicht das Filtern nach Datensatz und Eigenschaften; - ein Objekt deiner Wahl.
- der
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.
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:
- Auf einer Objektseite wird die vorgeschlagenen Aussage mit einem blauen Hintergrund markiert;
- Der Benutzer kann dies genehmigen oder zurückweisen, indem er entsprechend auf "Behauptung genehmigen" oder "Behauptung zurückweisen" klickt;
- 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]
- Die neue Fundstelle wird mit einem blauen Hintergrund markiert;
- Der Benutzer kann diese genehmigen oder zurückweisen, indem er entsprechend auf
Fundstelle genehmigen
oderFundstelle zurückweisen
klickt; - Der Benutzer kann mit einem Tooltip in einer Vorschau sehen, woher die Fundstelle stammt, indem er auf
Fundstellen-Vorschau
klickt;[10][11] - 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]
- Wenn die Interaktion von Frontend und Backend nicht funktioniert, zeigt das Tooltip eine Warnmeldung an.[14]
Einrichtung der Primärquellen
- 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] - Der Benutzer kann nach Datensätzen suchen und auswählen, welche er nutzen möchte;
- Es werden die grundlegenden Informationen
Datensatzbeschreibung
,Fehlende Aussagen
undAlle Aussagen
angezeigt; - Der Benutzer kann entweder
Speichern
oderAbbrechen
auswählen.
Zufälliger Primärquelleneintrag
- 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; - Das Datenobjekt wird zufällig aus den ausgewählten Datensätzen der Einrichtung der Primärquellen ausgewählt.
Primärquellen durchstöbern
- 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; - 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.
- Wenn der Benutzer auf den Link
Primary Sources Filter
(derzeitPrimary Sources List
) klickt, öffnet sich ein Fenster;[18] - 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
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:
- RDF ist ein ausgereifter Webstandard und seit 1999 eine W3C-Empfehlung;[22]
- 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
- ↑ Pellissier Tanon, T., Vrandečić, D., Schaffert, S., Steiner, T., and Pintscher, L. (2016, April). From Freebase to Wikidata: The Great Migration. In Proceedings of the 25th International Conference on World Wide Web (S. 1419–1428). ACM (2016)
- ↑ RFC: Semi-automatic Addition of References to Wikidata Statements
- ↑ Wikidata_talk:Primary_sources_tool
- ↑ phab:project/view/2788
- ↑ https://github.com/Wikidata/primarysources/tree/d24ca9ecef71b93f0feed27f6fdc4e479c929004/backend
- ↑ https://github.com/Wikidata/primarysources/tree/d24ca9ecef71b93f0feed27f6fdc4e479c929004/frontend
- ↑ Wikidata:Stable Interface Policy
- ↑ Data donation: 3. Work with the Wikidata community to import the data
- ↑ Help:Sources
- ↑ PST - Wireframe 1
- ↑ PST - Mockup 1
- ↑ m:Grants:IEG/StrepHit:_Wikidata_Statements_Validation_via_References
- ↑ PST - Mockup 2
- ↑ PST - Mockup 3
- ↑ PST configuration - Mockup 1
- ↑ PST configuration - Mockup 2
- ↑ PST configuration - Mockup 3
- ↑ PS filter - Mockup 1
- ↑ PS filter - Mockup 2
- ↑ https://tools.wmflabs.org/wikidata-todo/quick_statements.php
- ↑ mw:Wikibase/Indexing/RDF_Dump_Format#Data_model
- ↑ https://www.w3.org/TR/PR-rdf-syntax/
- ↑ Wikidata:Stable_Interface_Policy#Stable_Data_Formats
- ↑ mw:Wikidata_query_service
- ↑ phab:T166503
- ↑ Wikidata:Stable_Interface_Policy#Stable_Public_APIs
- ↑ https://github.com/wikimedia/wikidata-query-rdf/tree/master/dist/src/script
- ↑ phab:T166512
- ↑ https://www.wikidata.org/w/api.php