9 Prozopográfiai adatbázis építése — lépésről lépésre

Ez a fejezet az ElitData kutatócsoport („Tudáselit és politika a Horthy-korban”) munkáján keresztül mutatja be a prozopográfiai adatbázis-építés teljes folyamatát. Az esettanulmány a Nemzeti Kutatási, Kiválósági Program (NKKP) keretében készült.

9.1 Mikor érdemes adatbázist építeni?

A prozopográfia személyek egy meghatározott csoportjának kollektív biográfiai vizsgálata: nem az egyén életútja, hanem a csoport közös jellemzői, belső struktúrái és kapcsolatrendszere áll a középpontban. Az előző fejezetben az egyházmegyei ösztöndíjasok esettanulmányán láttuk a módszer alkalmazását — most a technikai megvalósítást vesszük részletesebben szemügyre.

Adatbázis-megközelítés akkor indokolt, ha:

  • a vizsgált személyek száma meghaladja a néhány tucatot,
  • több, egymáshoz kapcsolódó változóval dolgozunk (foglalkozás, vallás, iskolázottság, kapcsolatok, időpontok),
  • ismétlődő lekérdezésekre, szűrésekre és vizualizációra van szükség,
  • a kutatócsoport több tagja párhuzamosan dolgozik az adatokon.

9.2 A kutatási keret meghatározása

Mielőtt bármilyen adatot gyűjtenénk, három kérdést kell pontosan megválaszolni:

Kit veszünk fel az adatbázisba? Az ElitData esetében a Horthy-kori tudáselit: tudósok, írók, tanárok, közszereplők — meghatározott pozíciók, intézményi tagságok vagy publikációs teljesítmény alapján. A határok meghúzása egyszerre módszertani és historiográfiai döntés; dokumentálni kell az elveket.

Milyen időszakot fedünk le? Az adatbázis akkor koherens, ha az időhatárok kutatási szempontból indokoltak és következetesen alkalmazottak (pl. születési év, az aktív pályaszakasz, egy konkrét korszak).

Mik a fő kutatási kérdések? Ezek határozzák meg, hogy egyáltalán milyen adatokat érdemes összegyűjteni — fölösleges olyan változókat rögzíteni, amelyeket soha nem fogunk elemezni.

9.3 Adatmodell tervezése

A relációs adatmodell az alapja szinte minden prozopográfiai adatbázisnak. Az ElitData sémájának fő táblái:

Tábla Tartalom
tbl_Szemelyek Alapadatok: neve, születési/halálozási év, nem, vallás, elitcsoport-kód
tbl_Foglalkozasok Személyenkénti foglalkozások időponttal (egy személynek több sora lehet)
tbl_Egyetemek Felsőoktatási intézmények látogatása
tbl_Kapcsolatok Személyek közötti relációk típussal (házasság, szülő–gyerek, kolléga)
tbl_Vallasok Feloldó kódtábla (rövid kód → teljes megnevezés)

Kulcstervezési döntések:

  • Minden személynek egyedi SzemelyID azonosítója van — ez az összes többi tábla idegen kulcsa.
  • Az időpontokat érdemes egységesen kódolni (pl. évtized vagy konkrét év), mert a vegyes formátumú dátumok utólag nehezen kezelhetők.
  • A kapcsolattípusokat kódtáblában tároljuk, nem szabad szövegként: a „házasság” és a „házastárs” kétféle írásmódja nem ugyanaz a gép szemével.

9.4 Adatgyűjtés és forráskezelés

A prozopográfiai adatgyűjtés forrásigényes munka. Tipikus forrástípusok:

  • Lexikonok, almanachok (pl. Magyar Életrajzi Lexikon, Gulyás Pál Lexikon): jó kiindulópont, de rendszerint hiányos és nem egységes
  • Intézményi névsorok (akadémiai taglisták, iskolai értesítők, kamarai nyilvántartások)
  • Anyakönyvek, levéltári iratok: pontos adatok, de nagy munkaráfordítás
  • Önéletrajzok, nekrológok: narratív forrás, amelyből strukturált adatot kell kinyerni

Amit érdemes előre eldönteni:

  • Hogyan jelöljük, ha egy adat bizonytalan vagy hiányzik? (pl. NULL vs. „ismeretlen” szöveg)
  • Ha egy személynek több neve van (leánykori, felvett, magyarosított), melyik az „alap”?
  • Hogyan kezeljük az egymásnak ellentmondó forrásokat?

9.5 Adatbevitel és kódolás

Az adatbevitel folyamatában rengeteg apró döntés halmozódik fel, amelyek utólag nagyon nehezen korrigálhatók.

Kódolási útmutató készítése minden változóhoz, amelyet a kutatócsoport minden tagja ismer és követ. Például a valláskódok (rk, ref, ev, zsidó) listája legyen rögzített és zárt.

Rövidítések és változatok már bevitelkor egységesítendők — vagy utólag harmonizálandók. Az ElitData-ban a foglalkozások pl. HTB, HÁZTARTÁSBELI, Háztartásbeli alakban is előfordultak; ezeket egy harmonizált oszlopban egységesítették.

Eredeti adat megőrzése. Soha ne írjuk felül az eredeti, forrásból átvett adatot. Mindig új oszlopba kerüljön a tisztított/harmonizált változat — visszakövethetőség és ellenőrizhetőség céljából.

9.6 Adattisztítás és harmonizálás

Ez a legtöbb időt felemésztő munkafázis. Az ElitData foglalkozásoszlopán elvégzett tisztítás illusztrálja a tipikus problémákat:

Kódolási hibák (karakterkészlet-problémák): ô → ő, û → ű. Ezek rendszerint régi adatbázis-exportokból vagy különböző operációs rendszerek közötti átvitelből adódnak.

Rövidítések feloldása egy explicit szótár alapján:

Rövidítés Feloldás
HTB Háztartásbeli
REF LELK Református lelkész
ÁG EV LELK Ágostai evangélikus lelkész
VM IKTATÓ Vármegyei iktató
FŐGIMN TANÁR Főgimnáziumi tanár

Ahol nem egyértelmű, nem érdemes automatikusan feloldani — inkább maradjon az eredeti rövidítés.

Kategorikus összevonás: a FÖLDMÜVES, FÖLDMÍVES és FÖLDMŰVELŐ mind azonos foglalkozást takarnak → egységesítés Földműves-re.

Technikai eszközök: Python (openpyxl, pandas), reguláris kifejezések, illetve manuális felülvizsgálat. A szkriptek verziókezelőben (pl. Git) tárolhatók — így reprodukálható és dokumentált a teljes tisztítási folyamat.

Eredmény az ElitData-ban: 3 956 foglalkozásbejegyzésből az eredeti ~3 400 különböző ALL CAPS forma 2 390 egyedire csökkent, és az összes bejegyzés olvasható, egységes formátumot kapott.

9.7 Technikai megvalósítás

9.7.1 Backend — adatbázis-kezelő rendszer

Az ElitData Supabase-t (hosztolt PostgreSQL) használ. Alternatívák:

Megoldás Mikor érdemes?
SQLite Egyszemélyes projekt, egyszerű struktúra
PostgreSQL / Supabase Többfelhasználós, webes hozzáférés
MySQL Széles körben támogatott, közepes projektek
Microsoft Access Nem ajánlott nagyobb projektekhez

A lényeg: relációs adatbázis, SQL-lekérdezhetőség.

9.7.2 Frontend — vizualizáció és lekérdező felület

Az ElitData egyetlen HTML-fájlban valósítja meg a teljes vizualizációs felületet, Vanilla JS-sel, D3.js-sel és Leaflet.js-sel. Minden vizualizáció az adatbázisból élő lekérdezéssel töltődik. A főbb nézetek:

  • Keresés/profil: egy személy összes adata egy helyen, navigálható kapcsolatokkal
  • Statisztikák: foglalkozás- és vallásmegoszlás, felekezetek közötti házasságok hőtérképe
  • Hálózat: személyek közötti kapcsolatok erő-irányított gráfként (D3 force simulation), vallás szerinti klaszterezési lehetőséggel
  • Térkép: egyetemek földrajzi eloszlása Leaflet.js-sel, szűrhető elit-csoport és vallás szerint

Miért érdemes mindezt egyetlen fájlban tartani kisebb projekteknél? Könnyen megosztható, nem igényel szervert a megjelenítéshez, reprodukálható. Ugyanez az elv érvényesül a kurzus annotáló eszközénél is (ld. 5 fejezet).

9.8 Az ElitData böngésző felülete

Az ElitData kb. 1 500 elittag és mintegy 9 000 személy életrajzi, karrier- és kapcsolati adatait tartalmazza a Horthy-korszakból (1920–1944). Az adatbázis böngészője egyetlen weboldalként működik — nincs szükség telepítésre, az összes funkció a böngészőből elérhető. A felület tetején négy fő nézet közül lehet választani: Keresés · Statisztikák · Hálózat · Térkép.

9.8.1 Keresés és személyprofil

A bal oldali sávban névre lehet keresni (legalább 2 karakter). A keresés tovább szűkíthető négy legördülő menüvel, amelyek egymással kombinálhatók:

Szűrő Mit tesz
Vallás Csak az adott felekezethez tartozó személyek jelennek meg
Egyetem Csak azok, akik az adott intézménybe jártak
Foglalkozás Csak azok, akiknél ez a foglalkozás szerepel a karrierbejegyzések között
Csak elittagok Bejelölve az ~1 500 elittag látszik; levéve az összes ~9 000 személy böngészhető

Bármelyik névre kattintva megnyílik a személy teljes adatlapja: alapadatok, pályafutás, tanulmányok, kitüntetések, közéleti szerepek, külföldi tartózkodások és a személyes kapcsolati háló.

Az ElitData keresés és személyprofil nézete — szűrhető keresés és részletes adatlap

Figure 9.1: Az ElitData keresés és személyprofil nézete — szűrhető keresés és részletes adatlap

9.8.2 Statisztikák

A Statisztikák nézet az elittagokra vonatkozó összesítéseket mutat: az adatbázis mérete és megoszlása, vallási megoszlás, születési évtizedek, leggyakoribb párttagságok és foglalkozások. Különösen értékes a vallásközi házasságok mátrixa: egy táblázat, amelynek sorai és oszlopai a felekezeteket jelölik, a cellákban az adott kombinációjú házasságok száma áll — vizuálisan is megjelenik az endogámia és a felekezeti keveredés mintázata.

Az ElitData statisztikai nézete — vallási megoszlás és házassági mátrix

Figure 9.2: Az ElitData statisztikai nézete — vallási megoszlás és házassági mátrix

9.8.3 Hálózat

A hálózati nézet két módot kínál. A személyes kapcsolati háló egy kiválasztott személy közvetlen kapcsolatait jeleníti meg: a teli körök elittagokat, a szaggatott szélűek nem elittagokat jelölnek; a szín a kapcsolat típusát kódolja (piros = házastárs, zöld = szülő/gyerek, kék = egyéb). Az egyetemi háló egy intézményt kiválasztva mutatja az ott tanult személyek egyidejűségi hálózatát — a vallási klaszterek bekapcsolásával vizuálisan is megjelenik, hogy az intézményen belül volt-e felekezeti elkülönülés.

Az ElitData hálózati nézete — személyes kapcsolatok és egyetemi egyidejűség

Figure 9.3: Az ElitData hálózati nézete — személyes kapcsolatok és egyetemi egyidejűség

9.8.4 Térkép

A térképes nézet az elittagok felsőoktatási tanulmányainak helyszíneit mutatja interaktív térképen. Minden körjelölő egy várost/intézményt jelöl; a kör mérete arányos az onnan érkező hallgatók számával, a színe a domináns felekezetet jelzi. A nézet szűrhető vallás és elittag/mindenki szerint.

Az ElitData térképes nézete — felsőoktatási helyszínek és felekezeti megoszlás

Figure 9.4: Az ElitData térképes nézete — felsőoktatási helyszínek és felekezeti megoszlás

9.8.5 A nézetek kutatási alkalmazása

Nézet Leginkább alkalmas arra, hogy…
Keresés egyéneket azonosítsunk és életrajzi adataikat összevessük
Statisztikák a csoport egészére vonatkozó arányokat és tendenciákat lássuk
Személyes hálózat egy adott személy kapcsolatrendszerét feltérképezzük
Egyetemi háló intézményi összetartozást és egyidejűséget vizsgáljunk
Térkép a tanulmányi útvonalak földrajzi mintázatait feltárjuk

9.9 Elemzési lehetőségek

Az adatbázis felépítése után az alábbi típusú elemzések válnak lehetségessé:

Leíró statisztika: ki volt ez a csoport? Vallási, foglalkozási, regionális összetétel.

Hálózatelemzés: ki ismert kit? Milyen közösségek rajzolódnak ki a kapcsolatrendszerben? A házassági hálózat a vallási endogámiát mutatja; az egyetemi hálózat az intézményi összetartozást.

Időbeli változás: hogyan alakult a csoport összetétele évtizedenként? Milyen pályatípusok jellemzők?

Térbeli elemzés: honnan jöttek, hol tanultak, hol dolgoztak?

Komparatív elemzés: összehasonlítás más korszakok vagy országok elitadatbázisaival (pl. PROSOP European database of medieval scholars, Oxford DNB).

9.10 Kihívások és tanulságok

Kihívás Tanulság
Az adatgyűjtés mindig tovább tart a vártnál Minimális adatmodellel kezdjünk; bővíteni mindig lehet
Az adatminőség egyenetlen a különböző forrásokban Mindig jegyezzük fel a forrást és a bizonytalanságot
A tisztítás sosem ér véget teljesen 80%-os tisztaság mellett is lehet értelmes elemzést végezni
A vizualizáció elvárásait nem könnyű kielégíteni A technikai és a szakmai kompetencia ritkán van egy személyben
Az adatbázis „soha nem kész” Verziókezelés, dokumentáció és archiválás nélkül elvész a munka

9.11 Etikai és jogi szempontok

  • Élő személyek esetén adatvédelmi kérdések merülnek fel (GDPR): a Horthy-kori adatbázisnál ez kevésbé kritikus, de kortárs prozopográfiáknál komoly korlát.
  • Forrásjog: digitalizált levéltári anyag felhasználása esetén az intézmény engedélye szükséges lehet.
  • Nyilvánosság vs. zárt kutatói hozzáférés: kinek, milyen formában és milyen feltételekkel legyen elérhető az adatbázis?
  • Citálhatóság: az adatbázisnak legyen DOI-ja és ajánlott hivatkozási formátuma, hogy mások is felhasználhassák.

9.12 A folyamat összefoglalása

A prozopográfiai adatbázis-építés lépései — az ElitData példáján:

  1. Kutatási kérdések megfogalmazása
  2. Csoport definíciója + időhatárok meghatározása
  3. Adatmodell tervezése (táblák, változók, kódtáblák)
  4. Forrásválasztás + kódolási útmutató készítése
  5. Adatbevitel (az eredeti formában)
  6. Adattisztítás + harmonizálás (új oszlopokban, az eredeti megőrzésével)
  7. Backend: relációs adatbázis felépítése
  8. Frontend: keresés, statisztika, hálózat, térkép
  9. Elemzés + publikálás + archiválás

Ez a sorrend nem szigorúan lineáris: a legtöbb projekt iteratív, azaz a tisztítás közben derülnek ki az adatmodell hiányosságai, és az elemzés közben merülnek fel újabb adatgyűjtési igények.