Wikipedia:WikiProjekt Vorlagenauswertung

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Abkürzung: WP:WVA

This page in English: Wikipedia:WikiProjekt Vorlagenauswertung/en

Dieses Projekt (Codename: Templatetiger) beschäftigt sich mit der Extraktion aller Vorlagen und der darin enthaltenen Variablenwerte aus dem DB-Dump, um daraus neue Datendarstellungen und Filtermöglichkeiten zu schaffen.

Startseite mit Sprachauswahl auf den Tool-Labs: toolforge:templatetiger

Screenshot

Ziele[Quelltext bearbeiten]

Es soll damit neuer Schwung in die Bestrebungen des eingeschlafenen Wikidata-Projektes gebracht werden und zudem die Wikipedia in Richtung des hochinteressanten Semantic MediaWiki bewegen.

Es sollen damit einerseits die Wartungsarbeiten (Kategorien und Vorlagen) und Projekte der Wikipedia unterstützt werden und andererseits neue Suchmöglichkeiten für interessierte Leser geschaffen werden. Zwar wurden schon im Projekt Georeferenzierung und in Hilfe:Personendaten solche Daten extrahiert, bei kleineren Themengebieten und anderen Sprachen wurde der erforderliche Aufwand jedoch bis jetzt zumeist gescheut.

Ziel ist es zudem, zu zeigen, dass eine Vorlagenauswertung direkt über den Parser (Echtzeitdaten) sinnvoll sein könnte und performancetechnisch möglich ist. Zudem benötigt man nicht unbedingt für jede Vorlage eine eigene Tabelle.

Das Projekt ist so angelegt, dass derzeit die wichtigsten Sprachen der Wikipedia unterstützt werden. Eine Ausweitung auf andere Sprachen ist technisch problemlos möglich und nur durch den Zeitfaktor begrenzt, da die Daten nicht Live erhoben sondern aus den Dumps herausgelesen werden. Das Herunterladen und Auswerten kann je nach Größe der Sprachversion zwischen Minuten und Tagen dauern.

Nutzung[Quelltext bearbeiten]

Die Nutzung erfolgt durch Bearbeiten der URL und ist somit nur bedingt auf Benutzerfreundlichkeit ausgelegt. Dafür stehen wir auf der Diskussionsseite gerne für Fragen bereit.

Aufgrund der Datenmenge ist teilweise doch etwas Geduld angebracht, bis die ersten Ergebnisse erscheinen. Das Durchblättern der Ergebnisse geht dann jedoch recht schnell.

Beispiele für Abfragen[Quelltext bearbeiten]

Vorlagenauswahl[Quelltext bearbeiten]

Die Auswahl der Vorlagen erfolgt einfach durch einen Klick auf eine der folgenden Seiten:

Bei der erscheinenden Tabelle gelangt man über den Link Wikipedia zur entsprechenden Wikipedia-Seite der Vorlagen. Über Parameter bekommt man alle extrahierten Parameter einer Vorlage angezeigt. Dieses soll zum schnellen Finden von Fehlern dienen, ist jedoch recht rechenaufwändig, wodurch es bei oft verwendeten Vorlagen etwas dauern kann, bis Ergebnisse erscheinen.

Tabellenansicht[Quelltext bearbeiten]

Filterung[Quelltext bearbeiten]

Es kann zumindest nach einem Wertepaar gefiltert werden. Dafür dienen die URL-Parameter "where" für den Variablennamen und "is" für den gesuchten Variablenwert. So zeigt:

Die Suche schaut, ob sie einen Teilstring findet. Dabei kommt der SQL-Befehl LIKE %…% zum Einsatz. Als Wildcards können "%" für beliebig viele beliebige Zeichen und "_" für genau ein beliebiges Zeichen zum Einsatz kommen.

Reguläre Ausdrücke[Quelltext bearbeiten]

Es können auch reguläre Ausdrücke benutzt werden.

&where=H%he&is=[8][0-9][0-9][0-9]&regexp=yes

Beispiel:

Negierung der Filterabfrage[Quelltext bearbeiten]

  • &where=…&is=…&not=yes – Artikel ohne Eintrag werden prinzipbedingt nicht angezeigt
  • Mit &where=…&is=_&not=yes können alle Artikel angezeigt werden, in denen der Parameter … fehlt.

Sortierung der Ergebnisanzeigen[Quelltext bearbeiten]

  • &order=article Sortiert die Artikel alphabetisch (Beispiel)
  • &order=Spaltenname Sortiert alphabetisch nach einer freiwählbaren Spaltenüberschrift. Dabei werden nur Artikel mit Eintrag angezeigt. (Beispiel Computerspiele nach Hersteller sortiert)

Das Sortieren funktioniert nur, wenn keine Filterung vorgegeben ist.

Spaltenauswahl[Quelltext bearbeiten]

Durch Hinzugabe des Parameters &columns=Spalte1,Spalte2,… lässt sich die Anzeige auf bestimmte Spalten begrenzen. Damit kann die Übersichtlichkeit gesteigert und die Ausgabe beschleunigt werden. Beispiel: http://tools.wmflabs.org/templatetiger/tt-table4.php?template=Infobox%20See&lang=de&where=&is=&columns=LAGE,MAX-TIEFE

Änderung der Zeilenanzahl[Quelltext bearbeiten]

Über die limit-Variable in der URL können auch mehr als die 30 standardmäßigen Artikel angezeigt werden. Allerdings ist bei 2000 aus Sicherheitsgründen im Moment Schluss.

&limit=50

Ausgabeformat[Quelltext bearbeiten]

Weiternutzung der Daten in einer Tabellenkalkulation[Quelltext bearbeiten]

Durch die Übernahme der Tabellen in eine Tabellenkalkulation ist es möglich, Spalten auszublenden, Sortierungen vorzunehmen oder die Datenfelder umzuwandeln.

OpenOffice-Calc
unterstützt neben der Copy-Paste-Vorgehensweise auch die Möglichkeit, über Insert → Link to external Datas… direkt die URL zu nutzen.

Microsoft Excel
Das Programm kann über das Menü Daten → externe Daten importieren → neue Webanfrage… bzw. Daten → Externe Daten abrufen → Aus dem Web (Excel 2010) genutzt werden.

Halbautomatische Übersetzungen[Quelltext bearbeiten]

Für die Entwicklung werden noch Betatester gesucht. Die Diskussionen laufen unter Wikipedia Diskussion:WikiProjekt Vorlagenauswertung#Übersetzungstool, dort steht auch die Bedienungsanleitung.

Nachteile der Verarbeitungsweise[Quelltext bearbeiten]

Alle Datenfeldeinträge werden einheitlich als Text geführt. Somit sind der Verarbeitung, z.B. dem Sortieren von Zahlen, Grenzen gesetzt. Mehr als ein Filterkriterium erscheint schwer umsetzbar.

Datenbank[Quelltext bearbeiten]

Erstellung[Quelltext bearbeiten]

Die der Datenbank zugrundeliegenden Daten werden bei der Extraktion der Geodaten (WP:GEO) direkt mit ausgelesen. Das Perl-Skript wurde dafür entsprechend erweitert, so dass alle in geschweiften Klammern ({{…}}) geschriebenen Texte mit ausgelesen werden. Allerdings werden Vorlagen ohne Variablen (z.B. {{Begriffsklärung}}, {{Lagewunsch}}) nicht weiter berücksichtigt. Alle anderen Vorlagen werden zerlegt in die Variablennamen und Werte.

Die bisherige Vorgehensweise erlaubt nur Vorlagen auszulesen, die nicht selber in einer Vorlage enthalten sind. Wenn beispielsweise in einer Vorlage:Infobox in der Variable "LAGE=" eine Vorlage:Koordinate genutzt wird, so kann derzeit diese Vorlage:Koordinate nur als Variablenwert ausgelesen werden. Weiterhin sind alle Kommentareinträge aus den Vorlagen entfernt worden, weil sonst eine Verarbeitung wesentlich schwieriger geworden wäre.

Datenbank-Layout[Quelltext bearbeiten]

Für jede Sprachversion wird es eine eigene Tabelle geben; für Deutsch ist das "dewiki". Jede Variable in jeder Vorlage jedes Artikels erhält einen Datensatz. Damit gibt es im Moment zwei Millionen Einträge. Darin enthalten sind:

name Names des Artikels
name_id ID-Nummer des Artikels
tp_name Name der Vorlage
entry_name Name der Vorlagevariablen (1,2,3,… bzw. Name1,Name2…)
Value Wert der Vorlagevariablen

Daneben gibt es zur besseren Performance bei der Vorlagenauswahl eine Tabelle, für Deutsch mit dem Namen "dewiki_sum":

tp_name Names der Vorlage
sum Anzahl des Auftretens der Vorlage

Programmablauf zur Datenbanknutzung[Quelltext bearbeiten]

Um die Übersichtstabellen in der tt-table4.php (Quelltext) zu erzeugen, wird im ersten Schritt über ein SQL-Kommando nach den Artikeln gesucht, welche die entsprechende Vorlage enthalten, die Filterkriterien erfüllen und im Limit-Bereich liegen. Anschließend werden die IDs dieser Artikel an ein zweites SQL-Kommando übergeben und sämtliche Einträge des Artikel und der Vorlage in ein zweidimensionales Array $ausgabe[Artikelname][entry_name] geschrieben. Wenn in einem Artikel dabei eine Vorlage mehrfach auftritt, werden die Einträge in eigenen Absätzen aneinandergehangen. Abschließend wird aus dem Array eine Tabelle generiert.

Zugriffsmöglichkeiten[Quelltext bearbeiten]

Über Wikimedia Tool Labs hat jeder mit Account Zugriff auf die s51071__templatetiger_p-Datenbank, um so eigene Anwendungen schreiben zu können.

Anwendungen[Quelltext bearbeiten]

  • Mit templatecheck kann man bei Vorlagen, die über eine XML-Beschreibungsseite für den Vorlagenmeister verfügen, prüfen, ob die verwendeten Parameter den dort aufgeführten Beschränkungen entsprechen.

Mögliche Anwendungen[Quelltext bearbeiten]

  • Interessant wäre ein halbautomatisches Übersetzungswerkzeug für Vorlagen, welches gleich Wikisyntax erzeugt.
  • Ein Vergleich der Nutzung zweier gleicher Vorlagen in verschiedenen Sprachen über die Interwikilinks wäre sicher auch spannend.

Datenstand[Quelltext bearbeiten]

Der aktuelle Datenstand ist hier angegeben.

Projektteilnehmer[Quelltext bearbeiten]

Es werden noch Leute gesucht, um die Auswertung weiter zu optimieren und das Projekt, sobald es in mehreren Sprachen läuft, international bekannt zu machen.

Interessenten:

Ansprechpartner[Quelltext bearbeiten]