Es gibt im Web viele Quellen für Partiensammlungen, meist im Format der Standard-Notation PGN. Problematisch dabei ist die oft schlechte Datenqualität der Archive. Meist handelt es sich um mehr oder weniger vollständige Partiesammlungen einzelner bekannter Spieler, die irgend wann von jemand mal erstellt und im Laufe der Zeit in andere Sammlungen integriert wurden. Des öfteren fehlen entscheidende Angaben in den Kopfdaten (Tags) einzelner Partien wie Datum oder Ort. Auch Spieler sind nicht immer einheitlich benannt (z.B. „Fischer, Bobby“ vs. „Fischer, Robert J“), obwohl es sich offensichtlich um die selbe Person handelt. Bei der Zusammenführung dieser Archive kann es daher zu unerwünschten Duplikaten kommen. Zwar führte der Weltschachverband FIDE in den 1990er Jahren eine einheitliche ID für aktive Spieler ein, die auch in der PGN-Notation als Metadata (über die Tags „WhiteFideId“ bzw. „BlackFideId“) eingetragen werden können, aber erstens ist die Angabe der FIDE Id im PGN-Format optional und zweitens existieren für historische Schachmeister keine solchen IDs.
Glücklicherweise wurde für die Konsolidierung verschiedener PGN-Archive in Lumbra’s Gigabase in Hinblick auf die Datenbereinigung bereits die Eliminierung etlicher Duplikate vorgenommen. Trotzdem fehlen auch hier gelegentlich wichtige Metadaten wie Spiel-Ort und -Datum. Auch sind nicht alle Spiele korrekt aufgezeichnet, d.h. die Partien enthalten gelegentlich nicht regelkonforme Züge und sind daher unbrauchbar. Diesem Problem widmen wir uns aber erst in einem weiteren Schritt.
Für die Installation von SCID, einer freien und quelloffenen Schachdatenbank-Software, verwenden wir die Installationsdateien der entsprechenden Buld Piplelines für die gewünschte Umgebung, in unserem Fall Windows 10/11 bzw. scid_windows_x64.zip, und extrahieren die Dateien aus dem ZIP-Archiv in ein beliebiges Verzeichnis.

Anschließend laden wir die Partien-Datenbank von der Download-Seite auf Lumbra’s Gigabase ebenfalls in einen beliebigen Dateiordner herunter.

Nach Ausführung der SCID-Software („..\scid_windows_x64\bin\scid.exe“) öffnen wir die Datenbank über das SCID-Menü „Datei->Öffnen“ und wählen dabei die heruntergeladene Partiendatenbank aus.

Wir lassen uns die Liste der Partien aus der geöffneten Datenbank über den Menüpunkt „Fenster->Partieliste“ anzeigen und sehen, dass dort über 9,5 Millionen Partien enthalten sind. Wir sehen aber auf den ersten Blick auch die teilweise fehlenden Kopfdaten wie Turnierdatum und Ort.
Trotzdem nehmen wir die Daten zunächst als gegeben hin und wenden keine weitere Mühe auf, sie an Ort und Stelle zu bereinigen.

Da wir nur klassische (Standard-)Schachpartien analysieren wollen, filtern wir sog. Freestyle Chess Partien (auch bekannt als „Fischer-Random-Chess“ oder „Chess960“) heraus, bevor wir die gewünschten Daten in ein PGN-Archiv exportieren.

Die gefilterten Daten exportieren wir anschließend in eine neue PGN-Datei.

Der Export-Vorgang kann je nach Computer-Geschwindigkeit mehrere Minuten oder gar Stunden dauern. Am Ende erhalten wir eine ca. 7GB große Datei, die wir mit einem Text-Editor unserer Wahl wie z.B. Notepad++ (aber nicht dem Windows Editor! 😫) öffnen können.

Wir haben nun die Ausgangsbasis dafür geschaffen, die Partien aus der PGN-Datei in eine relationale Datenbank zu überführen und dabei weitere Datenbereinigungen vorzunehmen.