Wikidata:Werkzeuge/OpenRefine/Bearbeiten/Qualitätssicherung

This page is a translated version of the page Wikidata:Tools/OpenRefine/Editing/Quality assurance and the translation is 100% complete.
Beispielprobleme, die von OpenRefine in einem Beispielprojekt gemeldet werden.

Diese Seite erklärt, wie die Wikidata-Erweiterung von OpenRefine Bearbeitungen analysiert, bevor sie nach Wikidata hochgeladen werden.

Überblick

Änderungen werden geprüft, bevor sie hochgeladen werden und bevor der derzeitige Inhalt der entsprechenden Datenobjekte abgerufen und mit den Aktualisierungen zusammengeführt wird. Das bedeutet, dass einige Verletzungen von Einschränkungen von der Software nicht vorhergesehen werden können (beispielsweise wenn das Hinzufügen einer neues Aussage mit einer bereits in dem Datenobjekt vorhandenen Aussage kollidiert). Jedoch ermöglicht dies, selbst bei relativ großen Bearbeitungsstapeln schnell Überprüfungen vorzunehmen. Dafür werden Probleme in Echtzeit aktualisiert, während der Benutzer das Schema entwickelt.

Als Konsequenz können nicht alle Verletzungen von Einschränkungen erkannt werden: die nicht unterstützten werden im Abschnitt Verletzung von Einschränkungen aufgeführt. Umgekehrt sind nicht alle gemeldeten Probleme Verletzungen von Einschränkungen auf: siehe dazu Generische Probleme.

Abgleichen

Du solltest immer zuerst die Qualität deines Abgleichs überprüfen. OpenRefine verfügt über unterschiedliche Werkzeuge, um die Qualität deiner Abgleichsergebnisse sicherzustellen. Zum Beispiel:

  • kannst du die Ähnlichkeit der Zeichenkette deines Originalnamens und des Namens des abgeglichenen Datenobjekte analysieren (beispielsweise mit AbgleichenAspekteBearbeitungsabstand des Namens des besten Kandidaten);
  • kannst du die Werte in deiner Tabelle mit denen des Datenobjektes vergleichen (indem du einen Textaspekt mit einem bestimmten Ausdruck definierst);
  • kannst du Aspekte zum Typ der abgeglichenen Datenobjekte erstellen (eine neue Spalte mit den Typen hinzufügen und einen nach Zahlen geordneten Textaspekt nutzen, um die Verteilung von Typen deiner abgeglichenen Datenobjekte zu erhalten).

Verletzung von Einschränkungen

Einschränkungen werden wie von der Eigenschaft mit property constraint (P2302) definiert abgerufen.

Die folgenden Einschränkungen werden unterstützt:

  • inverse constraint (Q21510855): OpenRefine nimmt an, dass die inverse Aussage in Wikidata noch nicht vorhanden ist. Wenn du weißt, dass die inverse Aussage bereits in Wikidata vorhanden ist, kannst du dieses Problem ignorieren.
  • single-value constraint (Q19474404): dies wird nur ausgelöst, wenn du mehr als eine Aussage mit der Eigenschaft zu dem gleichen Datenobjekt hinzufügen möchtest, zeigt jedoch keine vorhandenen Aussagen mit dieser Eigenschaft an.

Ein Vergleich der unterstützten Einschränkungen unter Berücksichtigung anderer Implementierungen ist auf Wikidata:WikiProject property constraints/reports/implementations verfügbar.

Generische Probleme

OpenRefine entdeckt auch Probleme, die (noch) nicht von Eigenschaftseinschränkungen auf Wikidata hervorgehoben werden:

  • Aussagen ohne Fundstellen. Dies stützt sich nicht auf citation needed constraint (Q54554025): alle Aussagen sollten Fundstellen haben. (Die Idee ist, dass beim Import eines Datensatzes jede Aussage, die du hinzufügst, auf diesen Datensatz verlinken sollte - es schadet nicht, dies auch für generische Eigenschaften wie instance of (P31) zu tun.)
  • Falsche Leerzeichen und nicht druckbare Zeichen in Zeichenketten (darunter Bezeichnungen, Beschreibungen und Aliasse);
  • Selbstreferenzierende Aussagen (Aussagen, die das Datenobjekt erwähnen, zu dem sie gehören);
  • Neue Datenobjekte, die ohne eine Bezeichnung erstellt werden;
  • neue Datenobjekte, die ohne eine Beschreibung erstellt werden;

Unterstützung für eine neue Einschränkung hinzufügen

Wenn du dich mit Java auskennst, ist es einfach, eine neue Einschränkung beizutragen! Suche einfach nach einem Beispiel-Scrutinizer (so werden Einschränkungsprüfungen intern genannt) wie SingleValueScrutinizer oder FormatScrutinizer und schreibe eine ähnliche Klasse, die das Problem findet, dass du hervorheben möchtest. Schreibe eine entsprechende Testklasse (wie SingleValueScrutinizerTest oder FormatScrutinizerTest), die die Probleme zeigt, die von deinem Scrutinizer aufgezeigt werden. Registriere deinen Scrutinizer schließlich im EditInspector, sodass er zusammen mit den anderen Scrutinizern auf alle Bearbeitungskandidaten angewendet wird. Übermittle deinen Code als Vorschlag auf https://github.com/OpenRefine/OpenRefine.

Wenn du Hilfe dabei brauchst, pinge User:Pintoch an, der dir gerne helfen wird.