Heim

Wikipedia:WikiProjekt Vorlagenauswertung

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.

Anmerkung: Die Auswertung der Dumps fällt durch die Georeferenzierung ohnehin an.

Inhaltsverzeichnis

Ziele

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 Wikipedia: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.

Sprachen

Im Moment werden die folgenden Wikipedia-Sprachversionen unterstützt:

Languages Dump
en 2008-03-12
de 2008-06-07
fr 2008-03-23
es 2008-03-17
pt 2008-03-13
ru 2008-03-07
cs 2008-03-20
fi 2008-03-11
nl 2008-03-10
eo 2008-03-19
ca 2008-03-09
nds 2008-03-19
edit

Nutzung

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. Alternativ kann auch diese Suchmaske genutzt werden.

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

Vorlagenauswahl

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

Filterung

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

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

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

Beispiel: Ausgabe aller achtausender Berge über regulären Ausdruck

Negierung der Filterabfrage

&where…&is=…&not=yes (grammatikalisch nicht schön, aber selten) Artikel ohne Eintrag werden prinzipbedingt nicht angezeigt

Sortierung der Ergebnissanzeigen

Das Sortieren funktioniert nur, wenn keine Filterung vorgegeben ist.

Spaltenauswahl

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.wikimedia.de/~kolossos/templatetiger/tt-table4.php?template=Infobox%20See&lang=de&where=&is=&columns=LAGE,MAX-TIEFE

Änderung der Zeilenanzahl

Ü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

Weiternutzung der Daten in einer Tabellenkalkulation

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… genutzt werden.

Halbautomatische Übersetzungen

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

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.

Es erscheint schwer, nur solche Artikel zu finden, bei denen bestimmte Einträge fehlen.

Datenbank

Erstellung

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

Für jede Sprachversion wird es eine eigene Tabelle geben; für Deutsch ist das "pub_tt1_de". Jede Variable in jeder Vorlage jedes Artikels erhält einen Datensatz. Damit gibt es im Moment 1,9 Mio. 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 "pub_tt1_de_sum":

tp_name Names der Vorlage
sum Anzahl des Auftretens der Vorlage

Programmablauf zur Datenbanknutzung

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

Über den Toolserver hat jeder mit Account Zugriff auf die u_kolossos_p-Datenbank, um so eigene Anwendungen schreiben zu können.

Download-Möglichkeiten der Daten

Wird es geben.

Mögliche Anwendungen

Projektteilnehmer

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