Wikipedia:WikiProjekt Vorlagenauswertung

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 21. April 2007 um 10:22 Uhr durch Kolossos (Diskussion | Beiträge) (Tabellenansicht: Spaltenauswahl). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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.

Screenshot

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:

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:

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: 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&regexp=yes Ausgabe aller achtausender Berge über regulären Ausdruck (Adresse bitte in die Adresszeile des Browsers kopieren)

Negierung der Filterabfrage

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

Sortierung der Ergebnissanzeigen

  • &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

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

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