Class ImportSpeaker

java.lang.Object
backend.importer.ImportSpeaker

public class ImportSpeaker extends Object
ImportSpeaker – Importiert Abgeordneten-Stammdaten aus der MDB_STAMMDATEN.XML in eine MongoDB-Datenbank. Das erzeugte Dokument hat exakt folgende Struktur: { "_id": "11004097", "name": "Lindner", "firstName": "Christian", "title": "", "geburtsdatum": { "$date": "1979-01-06T23:00:00.000Z" }, "geburtsort": "Wuppertal", "sterbedatum": null, "geschlecht": "männlich", "beruf": "Politikwissenschaftler", "akademischertitel": "", "familienstand": "geschieden", "religion": "konfessionslos", "vita": "...", "party": "FDP", "memberships": [ { "role": "Ordentliches Mitglied", "member": "11004097", "begin": { "$date": "2021-12-05T23:00:00.000Z" }, "end": { "$date": "2025-02-16T14:11:23.636Z" }, "label": "Hauptausschuss" }, { "member": "11004097", "begin": { "$date": "2021-10-25T22:00:00.000Z" }, "end": { "$date": "2025-02-16T14:11:23.636Z" }, "label": "Fraktion der Freien Demokratischen Partei" }, ... weitere memberships ... ] }

Die Logik: - Aus dem XML wird zunächst die ID, die Namensbestandteile (NACHNAME → "name", VORNAME → "firstName") sowie ANREDE_TITEL ("title") und AKAD_TITEL ("akademischertitel") ausgelesen. - Aus den BIOGRAFISCHE_ANGABEN werden geburtsdatum, geburtsort, sterbedatum, geschlecht, beruf, familienstand, religion, vita und party extrahiert. - Für jedes -Element wird: a) eine "Party-Membership" (ohne "role") erstellt, deren "begin" und "end" aus MDBWP_VON/BIS geparst werden. b) alle enthaltenen -Elemente werden ausgelesen und jeweils als Membership mit "role" (aus FKT_LANG), "label" (aus INS_LANG) und den entsprechenden Begin-/End-Daten (aus FKTINS_… oder MDBINS_…) eingefügt.

Author:
Philipp Schneider
  • Constructor Details

    • ImportSpeaker

      public ImportSpeaker()
  • Method Details

    • main

      public static void main(String[] args)