Diesmal sind mir doch tatsächlich deine Bearbeitungen durch die Lappen gegangen. Beim nächsten Mal pingst du mich vielleicht zusätzlich auf meiner Diskussionsseite an, um ganz sicher meine Aufmerksamkeit zu erregen. *g* --SirJective 01:08, 18. Feb 2005 (CET)


Hab dir jetzt aus dem Dump vom 9. Februar die Daten bis 10. März eingetragen. Für die späteren Termine könnten wir auf den für vorgestern geplanten Dump warten, oder die Daten später eintragen, oder? :)

Hab beim 10. März mal probiert, wie sich die Links im Artikeltext machen. Was meinst du dazu? --SirJective 19:19, 27. Feb 2005 (CET)

oh, das sieht prima aus! dann versuche ich gar nicht erst mehr, mich pythonmäßig zu verrenken (ich hatte mir derweil die simple aber recht effektive methode angewöhnt, einfach zuerst alle links auf der "bebilderte..."-seite anzuklicken, so dass sie nachher in dem gewöhnlichen tagesartikel als besucht markiert erscheinen. aber das hier ist natürlich viel besser.)

grüße, Hoch auf einem Baum 19:01, 18. Mär 2005 (CET)

oh, und nur aus neugier: wie lautet die sql-abfrage inzwischen? grüße, Hoch auf einem Baum 19:05, 18. Mär 2005 (CET)
Siehe unten. :) Soll ich das JAVA-Programm auch hochladen? --SirJective 00:06, 19. Mär 2005 (CET)

Die Abfrage

Bearbeiten

Hier die Abfrage im Stand vom 21. Mai 2005.

-- WICHTIG: Das Datum tritt in jeder der drei Abfragen auf!

-- Liefert bebilderte Artikel, die von einem Tagesartikel verlinkt sind,
-- ausser Staaten.
select concat('*[[',a.cur_title,']]')
from cur as n, links, cur as a
where
-- Datumsartikel identifizieren
-- Wichtig ist (wie immer), dass der Titel "_" statt " " hat.
n.cur_namespace = 0 and n.cur_title like '30._M__rz'
-- Links von diesem Artikel zu einer anderen Seite finden
and l_from = n.cur_id and l_to = a.cur_id
-- sicherstellen, dass diese Seite ein Artikel ist
and a.cur_namespace = 0
-- Artikel soll einen Bild-Link haben,
-- hier wird nicht aus Auskommentierung o.ae. geachtet
and a.cur_text like '%[[Bild:%'
-- Artikel soll keinen Kategorie:Staat-Link haben (auch keinen auskommentierten)
and a.cur_text not like '%[[Kategorie:Staat%'
-- Da inzwischen bebilderte Datumsartikel und Jahresartikel existieren, werden die ausgeschlossen
and a.cur_title not rlike '^[0-9]{1,2}\._(Januar|Februar|M..rz|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)$'
and a.cur_title not rlike '^[1-9][0-9]{0,3}$'
-- alphabetisch nach Titel sortieren
order by a.cur_title;

-- Liefert bebilderte Artikel, die von einem Tagesartikel ueber einen Redirect
-- verlinkt sind, ausser Staaten.
select concat('*[[',hop.cur_title,']] -> [[',a.cur_title,']]')
from cur as n, links as l1, cur as hop, links as l2, cur as a
where
-- Datumsartikel identifizieren, sollte derselbe Titel wie oben sein
n.cur_namespace = 0 and n.cur_title like '30._M__rz'
-- Links von diesem Artikel zu einer anderen Seite finden
and l1.l_from = n.cur_id and l1.l_to = hop.cur_id
-- sicherstellen, dass diese Seite ein Redirect ist
and hop.cur_namespace = 0
and hop.cur_is_redirect = 1
-- Links von diesem Redirect zu einer anderen Seite finden
and l2.l_from = hop.cur_id and l2.l_to = a.cur_id
-- sicherstellen, dass diese Seite ein Artikel ist
and a.cur_namespace = 0
-- Artikel soll einen Bild-Link haben,
-- hier wird nicht aus Auskommentierung o.ae. geachtet
and a.cur_text like '%[[Bild:%'
-- Artikel soll keinen Kategorie:Staat-Link haben (auch keinen auskommentierten)
and a.cur_text not like '%[[Kategorie:Staat%'
-- Da inzwischen bebilderte Datumsartikel und Jahresartikel existieren, werden die ausgeschlossen
and a.cur_title not rlike '^[0-9]{1,2}\._(Januar|Februar|M..rz|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)$'
and a.cur_title not rlike '^[1-9][0-9]{0,3}$'
-- alphabetisch nach Titel sortieren
order by a.cur_title;

-- Abtrennung des Artikeltextes
select '----';

-- Liefert den Artikeltext, der dann weiterverarbeitet wird.
select cur_text
from cur as n
where
-- Datumsartikel identifizieren
n.cur_namespace = 0 and n.cur_title like '30._M__rz';

Ein speziell für diesen Zweck geschriebenes JAVA-Programm entfernt danach aus dem Artikeltext alle Links, die nicht in der erzeugten Liste stehen, und es entfernt Interwiki-Links. Das geschieht durch eine Handvoll regexp-Ersetzungen. --SirJective 00:02, 19. Mär 2005 (CET)

Ich hab gerade die Abfrage geändert, um die bebilderten Datums- und Jahresartikel auszuschließen. Die Listen, die ich heute hochgeladen hab, sind aber noch mit der alten Abfrage gemacht.
Ist es denn ein Ziel, dass Datumsartikel auch bebildert sind? In dem Fall könnte ich eine Liste machen, die angibt, welche schon Bilder haben und welche noch nicht. --SirJective 14:11, 21. Mai 2005 (CEST)

Datenbankstruktur in MediaWiki 1.5

Bearbeiten

Hi, die Abfrage scheint mit der neuen Datenbankstruktur nicht mehr zu funktionieren. (Einfach "link" durch "pagelinks" zu ersetzen, ergab bei mir jedenfalls nur eine Fehlermeldung.) Wenn du es schaffst, sie anzupassen, könntest du dann die neue Abfrage wieder hier hochladen? Danke! grüße, Hoch auf einem Baum 02:40, 11. Aug 2005 (CEST)

Es scheint, als ob "links" und "brokenlinks" (und vielleicht noch andere link-tabellen) zu einer zusammengefasst wurde. Diese neue, "pagelinks", enthält zwar die id des Quellartikels, aber den Titel des Ziels. Die Zeilen

and l_from = n.cur_id and l_to = a.cur_id

und ähnliche müssten also ungefähr so verändert werden:

and pl_from = n.cur_id and pl_namespace = 0 and pl_title = a.title

Der Import der pagelinks dauert nun aber schon mehrere Stunden, so dass ich für nichts garantieren kann. Schlimmstenfalls muss ich den "rohen" pagelinks-Dump für mein JAVA-Programm nutzbar machen. ;) --SirJective 01:15, 12. Aug 2005 (CEST)

Die Arbeit mit der pagelinks-Tabelle habe ich aufgegeben (die Tabelle ist mit 260MB größer als der RAM meines Rechners, da der Index doppelt so groß wird(!), würde der Import vermutlich Tage dauern). Stattdessen filtere ich nun die Links der Datumsartikel aus dem XML-Dump - ich beachte dabei aber weder nowiki-Tags noch HTML-Kommentare. Die Datumsartikel selbst beschaffe ich mit der Spezial:Export-Funktion, aber die über 800 verlinkten Artikel hab ich nicht runtergeladen, sondern verwende den Stand des letzten Dumps, also vom 13.7.2005. --SirJective 00:46, 13. Aug 2005 (CEST)

Neue Abfragemethode

Bearbeiten

Heute habe ich die Links der September-Tage komplett mit den Daten der Live-WP erzeugt. Unter Verwendung der Spezial:Export-Funktion, wget, sed und zwei Java-Programmen habe ich diese Liste zusammengestöpselt. Sehr bequem ist das aber noch nicht. :) --SirJective 22:45, 30. Aug 2005 (CEST)

Das heißt, du folgst mit wget allen Links von der Tagesseite (bzw. exportiertst die verlinkten Artikel)? Oh ...
Vielleicht könnte man auch wikisign.org verwenden, wenn das RAM dort ausreicht (und der Dump dort wieder vorhanden ist)? grüße, Hoch auf einem Baum 17:50, 12. Okt 2005 (CEST)
Ja, so ähnlich. Ich lade zunächst mit wget alle gewünschten Tagesartikel herunter (das geht über Spezial:Export mit einem einzigen Download). Mit einem JAVA-Programm extrahiere ich die Titel der verlinkten Seiten (abzüglich anderer Tagesartikel), das sind diesmal 842 Titel.
In Gruppen von 200 Titeln lade ich diese Artikel mit wget und Spezial:Export herunter. Die XML-Dateien sind jeweils 1 bis 2 MB groß. Mit einem weiteren JAVA-Programm werden diejenigen Artikel identifiziert, die als bebilderter Jahrestag in Frage kommen, und für die gefundenen Redirects lade ich mit einem Download alle Ziele herunter und lasse die Kandidaten identifizieren.
Die gefundenen Links werden zusammen mit dem Text eines Datumsartikels an ein JAVA-Programm verfüttert (das dir bereits bekannte Jahrestag.java), das alle übrigen Links aus dem Text entfernt und so die Endausgabe produziert.
Ich habe also diesmal 7x die Funktion Spezial:Export bemüht und insgesamt 7 MB Artikeldaten heruntergeladen, um die 5 Seiten für Oktober zu erzeugen. Wenn ich mehr Datumsartikel auf einmal abarbeite, wird die Zahl der verlinkten Seiten pro Artikel etwas kleiner (alle 31 Tagesartikel des Novembers zusammen verweisen auf 5000 andere Seiten, das ergibt 161 Links pro Artikel, die 9 Dienstage und Donnerstage im November 2005 verweisen auf 1675 Seiten, das sind 186 Links pro Artikel). Idealerweise würde ich natürlich die Artikel, die ich schon heruntergeladen habe, nicht nochmal herunterladen, sondern wiederverwenden.
Sobald ich die Daten für November erzeugen soll, schreibst du mich bitte auf meiner Disk. an, denn ich bin in den letzten (und hoffentlich auch noch in den nächsten) Wochen deutlich seltener online.
Die Alternative, diese Daten aus einem aktuellen Dump zu gewinnen, funktioniert prinzipiell mit der modifizierten Version der obigen Abfrage. Ich weiß nur noch nicht, ob filzstift die pagelinks-Tabelle für wikisign.org importiert. --SirJective 22:15, 13. Okt 2005 (CEST)

Wenn es für dich weniger Aufwand bedeutet, kannst du auch gerne gleich zwei Monate im Voraus erstellen. grüße, Hoch auf einem Baum 07:20, 30. Nov 2005 (CET)

Du hast einige Jahrestage mit Bezug zu Elba. Da die meisten Menschen bei diesem Begriff zuerst an die Insel denken, verschiebe ich gerade, wollte aber nicht in deine Seiten eingreifen. --Bahnmoeller 20:35, 21. Jun 2006 (CEST)

Danke für den Hinweis, das ist aber nicht so schlimm - diese Seiten dienen nur als Arbeitswerkzeug und werden sowieso immer wieder neu erstellt. grüße, Hoch auf einem Baum 03:53, 22. Jun 2006 (CEST)