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.

Ziele
Es soll damit neuer Schwung hinter die Bestrebungen des eigeschlafenen 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 die wichtigsten Sprachen der Wikipedia unterstützt werden können.
Sprachen
Im Moment werden neben Deutsch die folgenden Wikipedia-Sprachversionen unterstützt:
Nutzung
Die Nutzung erfolgt zum Teil durch Bearbeiten der URL und ist somit nur bedingt auf Benutzerfreudlichkeit 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.
Vorlagenauswahl
Die Auswahl der Vorlagen erfolgt einfach durch einen Klick auf eine der folgenden Seiten:
- Beispiel Nr.1
template-choice.php?lang=de
- Alle Vorlagen der deutsprachigen Wikipedia (standardmäßige Sortierung der Vorlagen nach der meisten Nutzung)
- Beispiel Nr.2
template-choice.php?lang=de&az=yes&from=Info
- Alle Vorlagen in alphabetischer Sortierung ab Vorlage Info...
Tabellenansicht
Filterung
Es kann zumindest nach einem Wertepaar gefiltert werde, dafür dienen die URL-Parameter "where" für den Variablennamen und "is" für den gesuchten Variablenwert. So zeigt:
- Beispiel Nr.1
template=Personendaten&where=GEBURTSORT&is=London
- Alle Personen, die in London geborenen sind.
- Beispiel Nr.2
template=Infobox Berg&where=Erstbesteigung&is=[[18__]]
- Alle Berge mit einer Erstbesteigung im 19. Jahrhundert
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. :
- Beispiel Nr.3
&template=Infobox Berg&where=LETZTE ERUPTION&is=_
- Alle Berge, bei denen das Datum der letzten Eruption eingetragen ist (Vulkane)
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]®exp=yes
Beispiel:
http://tools.wikimedia.de/~kolossos/templatetiger/tt-table4.php?lang=de&template=Infobox%20Berg&where=H%he&is=[8][0-9][0-9][0-9]&offset=0&limit=30®exp=yes
Ausgabe aller achtausender Berge über regulären Ausdruck (Adresse bitte in die Adresszeile des Browsers kopieren)
Negierung der Filterabfrage
&where...&is=...¬=yes
(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äßt sich die Anzeige auf bestimmte Spalten begrenzen und so die Übersichtlichkeit steigern. 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önne auch mehr als die 30 standardmäßigen Artikel angezeigt werden, allerdings ist bei 2000 aus Sicherheitsgründen im Moment Schluss.
&limit=50
Weiternutzung der Daten in einer Tabellenkalkulationen
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.
- Ms-Excel
Das Programm kann über das Menü Daten/externe Daten importieren/neue Webanfrage... genutzt werden.
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.
Beispiele für Abfragen
- Infobox Film
- PKW-Modelle
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 es 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 Variablenname 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
Programmablauf zur Datenbanknutzung
Um die Übersichtstabellen in der tt-table4.php (Quelltext) zu erzeugen, werden 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 meta:Toolserver sollte es jedem mit Account möglich zu machen sein Zugriff auf die DB zu erteilen, um so eigene Anwendungen schreiben zu können.
Downloadmöglichkeiten der Daten
Wird es geben.
mögliche Anwendungen
- Interessant wäre ein halbautomatisches Übersätzungswerkzeug für Vorlagen, welches gleich Wikisyntax erzeugt.
- Ein Vergleich der Nutzung zweier gleicher Vorlagen in vers. Sprachen über die Interwikilinks wäre sicher auch spannend.
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
- Benutzer:Stefan Kühn Datenextraktion
- Benutzer:Kolossos Anwendungsprogrammierung