karzat
Szinkron2026-09-03 06:13

Módszer

minden szám, ami az oldalon áll — honnan és hogyan

Ez az oldal a kódból készül: a szabályok táblája ugyanaz, amivel az oldal számol. Ahol valami feltevés, oda az van írva.

Forrás

Az Országgyűlés nyilvános Web API-ja (parlament.hu, XML): a szavazások listája ciklusonként és a szavazások név szerinti listája (szavazasok, szavazas), a képviselők adatlapjai (kepviselo: frakciótörténet, választások, ülőhely — az utóbbi csak a jelenlegi ciklusra), az ülésnapok (ulesnap, 1998-tól), a jelenlegi ciklus irományai (iromanyok). Az ülésterem alaprajza a parlament.hu saját képviselő-oldalainak ülésrend-lekérdezéséből, 274 hellyel. A képviselők névsora 1990 óta a parlament.hu képviselőlistájából. Ami itt van: 79 842 szavazás, 49 782 név szerinti lista, 1 602 képviselő, 10 ciklus.

Ki kicsoda

A névsor „Név (Frakció)” alakban ír, azonosító nélkül — a nevet az oldalnak kell személyhez kötnie; ezt hívjuk feloldásnak. A feloldás sorrendje: (1) a jelenlegi képviselőlista pontos „Név (Frakció)” címkéje; (2) a képviselői adatlapok saját névírása (a Dr., a második keresztnév, az ékezet ott úgy szerepel, ahogy a névsorban); (3) a puszta név minden forrásból (adatlapok, Wikidata címkék). Ha többen jönnek szóba, az marad, akinek az adatlapja szerinti frakciótörténete az adott ciklusban a névsor frakcióját mutatja; aki így sem egyértelmű, feloldatlan marad, névvel. Egy ellenőrzés minden ciklusra: minden feloldott személynek van az adatlapján sora arra a ciklusra, a névsor frakciójával. A Wikidata P4966 azonosítója az API p_azon-ja.

A tengely

A kohéziós lapok utolsó szakasza minden képviselőnek egy helyet ad egy vonalon, és minden szavazásnak egy vágást azon a vonalon. A modell kétparaméteres logisztikus tételválasz-modell (2PL). Szavakban: minden képviselő kap egy számot — a helyét a vonalon (xi) —, és minden szavazás kap kettőt (aj, bj), amelyek együtt megmondják, hol vág a vonalon és milyen élesen. Annak a valószínűsége, hogy az i képviselő igent nyom a j szavazáson: σ(aj·xi + bj) — a σ egy S-alakú görbe, amely bármilyen számból 0 és 1 közé eső valószínűséget csinál. A tengely jelentését senki nem adja meg előre — az jön ki, ami a szavazatokat a legjobban megmagyarázza.

Amit nem mond

Ciklusok között nem összehasonlítható. Minden ciklus tengelye a saját szavazásaiból készül, közös tétel és közös skála nélkül; a 42. ciklus +1,2-je és a 43. ciklus +1,2-je nem ugyanaz a hely. Az összekötéshez („bridging”) olyan képviselők vagy tételek kellenének, amik átérnek a ciklusok közt — ezt a becslés nem kísérli meg. 1998 előtt nincs. A 34. ciklusban egyetlen név szerinti szavazás sincs, a 35-ösben egy — nincs miből becsülni. Meddig ér el a névsoros rekord: lefedettség. Az irány megállapodás. A tengelynek nincs önmagában vett iránya; a rajz úgy van tájolva, hogy egy minden becsülhető ciklusban jelen lévő frakció essen jobbra. Korábban a legnagyobb frakcióra tájoltuk, de az pártot váltott a 42. és a 43. ciklus közt, és a kép átrendeződést mutatott volna, ami nem történt meg.

Mit jelent, ha rosszul illeszkedik

A becslés mellett két szám áll: hány szavazatot talál el a modell, és hányat talál el a puszta többségi szabály. A kettő különbsége az egyetlen őszinte válasz arra, hogy ér-e valamit — 92% önmagában soknak hangzik, ha a többségi szabály már 82%-ot hoz. Ahol ez a különbség kicsi és a maradékban még szerkezet van, ott a Ház nem egy törésvonal mentén szavazott, és a lap ezt kiírja a kép fölé, nem alá.

A becslés részletei

Mi kerül a becslésbe? Csak a megosztott szavazások: ahol a kisebbik oldalra legalább két szavazat jutott, és ez eléri az igenek és nemek együttes számának 2,5 százalékát. És csak az a képviselő kap helyet, aki ezeken a szavazásokon legalább 20 igen vagy nem szavazatot adott le. A hiányzó szavazat hiány, nem nulla: aki nem szavazott, arról a modell ott nem tanul semmit. A helyekre egy előzetes feltevés van téve (standard normális prior), amely a becslést a nulla közelébe húzza. Nélküle egy olyan képviselő, aki soha nem szavazott a saját oldala ellen, tökéletesen elkülöníthető: a modell annál jobbnak látja a helyét, minél kijjebb tolja — nincs legjobb véges hely —, és a becslés elszalad. Az első futásban két képviselő a +9,5 pontra került egy olyan skálán, amelynek a szórása egy. A bizonytalansági sáv bootstrap: a becslés sokszor újrafut úgy, hogy a szavazásokat véletlenszerűen újrahúzza, és a sáv azt mutatja, mennyit mozog közben a hely. Kód: scripts/derive_idealpoints.py.

Többségi szabály és jelenlét

kódszabályküszöbalapaz API „Szavazási mód” szövegejogszabályi hely
egyszeruEgyszerű többségfloor(present/2)+1jelenlévőklistás · titkos · egyszerű többségAlaptörvény 5. cikk (6) — a jelen lévő képviselők több mint felének szavazata, ha az Alaptörvény eltérően nem rendelkezik; 5. cikk (5) határozatképesség
abszolutAbszolút többségfloor(seats/2)+1összes képviselőaz összes képviselő felével · abszolút többségAlaptörvény 16. cikk (4) — miniszterelnök megválasztása; Alaptörvény 21. cikk (2)–(3) — bizalmatlansági indítvány, bizalmi szavazás; HHSZ 62. § (1) — kivételes eljárás elrendelése
ketharmad_jelenlevoJelenlévők kétharmadaceil(2*present/3)jelenlévőka jelenlevők 2/3-ával · jelen lévő képviselők kétharmada · jelenlévő képviselők kétharmada · minősített többségAlaptörvény T) cikk (4) — sarkalatos törvény; Alaptörvény 5. cikk (7) — házszabályi rendelkezések elfogadása; HHSZ 60. § (7) — sürgős tárgyalás elrendelése
ketharmad_osszesÖsszes képviselő kétharmadaceil(2*seats/3)összes képviselőaz összes képviselő 2/3-ával · országgyűlési képviselők kétharmada · összes képviselő kétharmadaAlaptörvény S) cikk (2) — Alaptörvény elfogadása/módosítása; Alaptörvény 24. cikk (8) — alkotmánybírák; Alaptörvény 26. cikk (3), 29. cikk (4), 30. cikk (3), 43. cikk (2) — Kúria elnöke, legfőbb ügyész, alapvető jogok biztosa, ÁSZ elnöke; Alaptörvény 11. cikk (3) — köztársasági elnök, első forduló; Alaptörvény 5. cikk (1) — zárt ülés elrendelése
negyotod_jelenlevoJelenlévők négyötödeceil(4*present/5)jelenlévőka jelenlevők 4/5-ével · jelen lévő képviselők négyötödeHHSZ 65. § (1) — a határozati házszabályi rendelkezésektől való eltérés (a jelen lévő képviselők legalább négyötöde)
negyotod_osszesÖsszes képviselő négyötödeceil(4*seats/5)összes képviselőaz összes képviselő 4/5-évelW-API „Szavazási mód” = „Listás az összes képviselő 4/5-ével” (a rekordban 2014-ben fordul elő); a hatályos szövegekben nem találtam hozzá jogszabályi helyet
relativRelatív többségjelöltekAlaptörvény 11. cikk (4) — köztársasági elnök, második forduló: a legtöbb érvényes szavazat, a részt vevők számától függetlenül
A szabályt minden szavazásnál az Országgyűlés maga jelöli meg a „Szavazási mód” mezőben; az oldal ebből számolja a küszöböt és összeveti az „Elfogadás” mezővel („az oldal újraszámolta: egyezik / eltér a forrás szerinti eredménytől”). Ahol a szabálynak van igen/nem küszöbe, az mindig egy alapból számolódik: vagy a jelenlévőkből, vagy az összes képviselőből — a tábla „alap” oszlopa mondja meg, melyikből. Ki számít jelenlévőnek? Aki igennel, nemmel vagy tartózkodással szavazott. Ez a leadott szavazatok száma — az API „Összes szavazat” mezője. Aki „jelen, nem szavazott”, az nincs az alapban. Ezt nem az oldal döntötte el, hanem a jegyzőkönyv: ha a jelen lévő, de nem szavazó képviselőket is beleszámoljuk, a számítás a 38. ciklus 272 szavazásán mond ellent az Elfogadva/Elutasítva mezőnek; ha nem számoljuk bele, egyen sem. Mennyi az összes képviselő? Ahány mandátum aznap érvényes volt — üresedéskor kevesebb, mint a teljes létszám. Példa: 2014. december 1-jén egy, az összes képviselő kétharmadát kívánó titkos szavazás 132 igennel ment át, mert aznap 197 mandátum volt érvényes, és ennek a kétharmada — felfelé kerekítve — 132. Az érvényes mandátumokat az oldal a képviselői adatlapokból veszi; ahol az adatlapok nem mondják meg, a korszak teljes létszámával számol: 2014. május 6-a előtt 386, azóta 199. A szabályok jogszabályi helye az Alaptörvény és a Házszabály (10/2014. (II. 24.) OGY határozat) hatályos szövegével egyeztetve (njt.hu, 2026. augusztus 19.); az egyetlen, amire ott nincs alap, az API 2014-es „az összes képviselő 4/5-ével” címkéje.

Frakciójával és ellene

Egy szavazáson egy frakció többségi álláspontja az a leadott szavazat — igen, nem vagy tartózkodott —, amelyikből a legtöbb van. Ha az élen két álláspont ugyanannyi szavazatot kapott, nincs többségi álláspont, és azon a szavazáson senki sem „vele” és senki sem „ellene”. Egy képviselő a frakciójával szavazott, ha a leadott szavazata megegyezik ezzel az állásponttal; ellene, ha eltér tőle. Példa: a frakció többsége igennel szavaz, egy képviselő nemmel — ez egy frakció elleni szavazat. Aki nem adott le szavazatot (jelen, nem szavazott; nem szavazott; előre bejelentett hiányzó; igazoltan távol), az a részvételnél számít, nem az egyezésnél. A frakció az, amit a névsor az adott szavazásnál ír; a személy oldalán az utolsó név szerinti szavazásán feltüntetett frakció. A „független” nem frakció: a független képviselők együtt számolt száma nem összetartás.

Kohézió

Mindkét index azt méri, mennyire szavazott egyben a frakció. Rice-index: |igen − nem| / (igen + nem) — a nagyobbik és a kisebbik tábor különbsége, osztva a kettő összegével; a tartózkodás nem számít bele. 1,00 = aki igennel vagy nemmel szavazott, mind ugyanúgy szavazott; 0 = fele igen, fele nem. Egyetértési index (Hix–Noury–Roland): (legnagyobb − (összes − legnagyobb)/2) / összes — a „legnagyobb” a legtöbb szavazatot kapott opció, az „összes” a leadott igen, nem és tartózkodott együtt. 1,00 = mindenki ugyanúgy szavazott; 0 = a három opció egyenlően oszlik meg. Ciklusra súlyozott átlag: minden szavazás akkora súllyal számít, ahány szavazat ott az indexbe beleszámít — a Rice-indexnél az igenek és a nemek, az egyetértési indexnél mindhárom opció. Két frakció egyezése: azoknak a szavazásoknak a hányada, ahol mindkettőnek volt többségi álláspontja, és a kettő azonos volt. Két képviselő egyezése: a közös szavazásaik — ahol mindketten leadtak szavazatot — mekkora részén szavaztak ugyanúgy; a szám csak legalább 20 közös szavazásnál jelenik meg. A jelenlét-megállapítás — amikor a Ház csak azt rögzíti, ki van jelen a teremben — ezekbe a számokba nem számít bele.

Szoros szavazások

Különbség = igen − szükséges: hány igennel volt a döntés a küszöb fölött, vagy hány igen hiányzott hozzá. „Több igen, mint nem — mégis elutasítva”: olyan döntés, amelyhez minősített többség kellett — az egyszerű többségnél szigorúbb küszöb —, és több volt az igen, mint a nem, de a küszöböt nem érte el. „Ahol a hiányzók döntöttek”: számított feltevés. A kérdés: ha a névsorban szereplő, de szavazatot le nem adó képviselők mind a frakciójuk többségével szavaztak volna, más lenne-e a kimenetel? Ahol a küszöb a jelenlévőkből számolódik, ott velük a jelenlét is nőne, és a küszöböt az oldal ebből a megnőtt jelenlétből számolja újra. Feltevés, nem tény, és így is van feliratozva.

Az oldalak

A ciklus címlapján a kiemelt szavazás a ciklus utolsó, összes képviselő kétharmadával elfogadott döntése (a 43. és 42. ciklusban kézzel választva: a tizenhatodik és a tizenötödik Alaptörvény-módosítás). Az ülésrend a 43. ciklusra a parlament.hu alaprajza; a korábbi ciklusokra nincs ülőhely-adat, ott a szavazás-ábra frakciónként rendezett. A szavazás oldalán az ülőhely-vizsgáló „utolsó 20” csíkja a képviselő addig tartott utolsó húsz név szerinti szavazása: frakciójával (szín), ellene (fehér), többség nélkül (szürke), nem adott le (üres). Egy iromány oldala a szavazásait gyűjti a szám szerint: az „n/k” alak az n-es irományhoz tartozik; hogy a javaslatról magáról vagy egy módosítóról szólt-e, a kimenetel szövege mondja meg („önálló indítvány…”, „módosító…”). A frissesség mondata a legutóbbi ülésnaphoz méri a betöltött szavazásokat, és a szinkron időpontját írja, nem eltelt időt.

Letöltések és adatbázis

Minden tábla CSV-ben (UTF-8, BOM, vessző) és JSON-ban a ciklus adatok/ oldalán, az adatszótárral; egy szavazás és egy képviselő oldala mellett a saját párja. Az egész egy SQLite-adatbázisba is betölthető a tárból (schema.sql: mp, mp_faction, mp_mandate, sitting_day, vote, vote_position, vote_faction_tally, vote_faction_majority, bill, bill_event, vote_motion; nézetek: v_vote, v_mp_alignment) — python3 -m karzat load --since 1990-01-01, aztán például:
-- a legszorosabb elfogadott döntések
SELECT ts, igen, needed, margin FROM vote WHERE passed = 1 ORDER BY margin, ts LIMIT 20;

-- egy képviselő frakció elleni szavazatai
SELECT p.vote_ts, p.position, m.majority_position
FROM vote_position p JOIN vote_faction_majority m ON m.vote_ts = p.vote_ts AND m.faction_id = p.faction_id
WHERE p.mp_azon = 'a011' AND p.position IN ('igen','nem','tartozkodott') AND m.majority_position IS NOT NULL AND p.position <> m.majority_position;

-- frakciónkénti egyezés a saját többséggel, ciklusonként
SELECT v.ckl, p.faction_id, SUM(p.position = m.majority_position) * 1.0 / COUNT(*) AS egyezes
FROM vote_position p JOIN vote v ON v.ts = p.vote_ts JOIN vote_faction_majority m ON m.vote_ts = p.vote_ts AND m.faction_id = p.faction_id
WHERE p.position IN ('igen','nem','tartozkodott') AND m.majority_position IS NOT NULL GROUP BY 1, 2 ORDER BY 1, 3;

Felszólalások és a heti összefoglaló

Az ülésnapok felszólalás-listái (felszolalasok, 1998-tól) soronként: napirendi pont, felszólaló („Név (Frakció)”, ugyanazzal a feloldással, mint a névsorok; aki nem képviselő, névvel és tisztséggel marad), fajta, szerep, hossz. Érdemi felszólalás: a tárgyhoz szólás (felszólalás, kétperces, vezérszónoki, napirend előtti és utáni és hozzászólásaik), kérdés, interpelláció, azonnali kérdés és a válaszok, viszonválaszok, elfogadás/elutasítás, előadói válasz, előterjesztői nyitóbeszéd, bizottsági vélemény és kisebbségi vélemény, ügyrendi javaslat és kérdés; minden más eljárási (ülésvezetés, jegyzői ismertetés, megnyitás, bezárás, napirend elfogadása, eskü, személyes érintettség, az elnök eredmény- és állapotsorai). Ellenőrzés: a képviselői adatlap saját ciklusonkénti „felszólalás” száma ugyanezzel a határral a 43. ciklus képviselőinek túlnyomó többségénél megegyezik az itteni érdemi számmal (a felszólalások oldala írja, hány képviselőnél; ahol nem, a képviselő oldala mindkét számot). A heti összefoglaló: naptári hét ülésnapokkal; névsorban / a hét név szerinti szavazásai, leadott szavazatok, a frakció többségével szemben leadottak (döntetlennél nincs többség, jelenlét-megállapítás nem számít), érdemi felszólalások. Csatornái: képviselőnként kepviselo/<azonosító>-heti.xml, a ciklusé feed/heti.xml; a számok adatok/heti.csv-ben.

A felszólalások szövege és a keresés

Az érdemi felszólalások szövege az API felszolalas szolgáltatásából, felszólalásonként egy hívással; a szöveg a jegyzőkönyvé, bekezdésekre bontva, formázás nélkül, összefoglalás nélkül — egy lap és egy JSON felszólalásonként (felszolalas/<ülésnap>-<sorszám>), egy lap naponként. A felszólaló azonosítója a szöveg-adat saját hivatkozásából jön, ahol van (a képviselő oldalára mutat); a napi lista névfeloldása ugyanazt adja (a két forrás egyetlen esetben sem tér el). A kereső előtag szerint illeszt (legalább három betű, ékezet nélkül is): az index a szavak első két betűje szerint darabolt (felszolalas/idx/), a találat a szöveg részlete a jegyzőkönyvből; szótövezés, szinonima, témabesorolás nincs. A kulcsszó-figyelés csatornája feed/felszolalasok.xml: a friss felszólalások teljes szövege, a szűrést a hírolvasó végzi.

Csatornák

Atom-csatornák minden ciklusban (feed/): a különvélemények ciklusra (kulonvelemeny.xml), frakciónként (frakcio-<név>.xml) és képviselőnként (kepviselo/<azonosító>.xml), és minden szavazás (szavazasok.xml). Egy tétel egy szavazás; a benne álló különvélemények ugyanabból a számításból jönnek, mint a képviselőoldalak „frakció ellen” oszlopa (döntetlen = nincs többség; jelenlét-megállapítás nem számít). A tétel ideje a szavazásé, a csatorna frissítése a szinkroné — soha nem az építés pillanata, így ugyanabból a tárból ugyanaz a fájl épül. Egy csatornában az utolsó 600 tétel; a teljes lista adatok/kulonvelemenyek.csv. Értesítés az, hogy az oldal újraépül és a hírolvasó újraolvassa: nincs szerver, nincs fiók.

Fényképek, bizottságok, választókerületek

A képviselők fényképe a parlament.hu-ról töltődik be (a képviselői adatlap fenykep hivatkozása; az oldal nem másolja, onnan mutatja, fekete-fehérben, forrásmegjelöléssel); a felhasználás feltételeit a parlament.hu nem írja ki — a beágyazás az oldal tulajdonosának döntése. Akit a parlament.hu nem fényképez (a mandátum nélküli kormánytagokat: a portré-végpont 404-et ad rájuk), annak a képe — ha van — Wikimedia Commons-fájl, a Wikidata P18 alapján, szerzővel és licenccel megnevezve a kép címkéjében és az adatlapján; a párosítás akkor fogadható el, ha a tétel ember, a neve a jegyzőkönyvi névvel egyezik, és vagy a saját p_azon-ját viseli (P4966), vagy a tisztsége (P39) az, amit a jegyzőkönyv ír. Minden fénykép fekete-fehéren, ugyanazzal a szűrővel jelenik meg. A bizottságok a jelenlegi ciklusra az API bizottsági listájából és adatlapjaiból (típus, mai összetétel, a következő ülés meghívója — jelen idejű adat), minden ciklusra a képviselői adatlapok tagságtörténetéből; ülésmeghívó-csatorna: feed/bizottsagok.xml. „Ki a képviselőm?” település szerint: a választókerületi törvény mellékletéből (2011. évi CCIII. tv., 2. melléklet, hatályos szöveg, njt.hu); ahol egy várost vagy kerületet a melléklet utcánként oszt meg, minden szóba jövő választókerület látszik és a lakcím dönt.

Nemzetiségi szószólók

A nemzetiségi listáról szószóló kerülhet az Országgyűlésbe, ha a lista nem szerez mandátumot: a szószóló ül az ülésteremben, felszólalhat és bizottságban dolgozik, de nem szavaz — a név szerinti listák sosem tartalmazzák. Az oldal külön kezeli őket: a nyitólap patkóján gyűrűvel vannak jelölve, a kártyájuk a nemzetiséget, a bizottságaikat és a felszólalásaik számát mutatja, és semmilyen névsor-, részvételi vagy frakciófegyelem-szám nem tartalmazza őket. Forrás: szoszolok.cgi és a saját képviselői adatlapjuk (ülőhely, bizottságok, felszólalásszám). Jelenleg 12 szószóló ül a teremben.

Nyugta: melyik korpuszból, melyik kódból

Az oldal minden száma generált, nem beírt — ezt a README-kapu kényszeríti ki. De a „generált” csak azt mondja meg, hogyan, azt nem, hogy miből. Ehhez három dolgot kell egymáshoz rögzíteni, és ez a nyugta rögzíti őket.

A korpusz. 148 555 letöltött payload — egy-egy elmentett nyers válasz a forrásból — tartalmi lenyomata egyetlen gyökérbe fésülve, névsorrendben. A lenyomat a tartalomból számolt rövid kód: ha a tartalom egyetlen bájtja változik, a kód is megváltozik. Bármelyik payload hozzáadása, törlése vagy módosítása elmozdítja a gyökeret — kipróbálva: egy nyolcbájtos megjegyzés egyetlen fájlban megváltoztatja. Tartalom szerint, nem módosítási idő szerint: egy újralekérés, ami ugyanazokat a bájtokat hozza, nem látszhat változásnak, egy másik bájtokat hozó viszont igen.

A kód. A commit, és hogy tiszta volt-e a munkakönyvtár a build idején. A piszkos állapot piszkosként van rögzítve, nem csendben a committhoz rendelve — épp az az eset, amikor egy reprodukálni próbáló olvasó elakadna, és nem tudná, miért.

A származtatott fájlok. Mindegyik saját lenyomata, hogy a nyugta újraszámolás nélkül is összevethető legyen a lemezzel (python3 -m scripts.derive_receipt --verify).

Amit nem állít: hogy egy adott szám egy adott payloadból jött. Ehhez minden levezetés minden olvasását műszerezni kellene; az őszinte, olcsóbb válasz ez — ebből a korpuszállapotból, ezzel a kóddal. Mindkettő ellenőrizhető.

A jelenlegi nyugta: korpusz 5be424badcb20069 · kód 372cd54-dirty · készült 2026-09-03.

Frakcióváltás: két nyilvántartás ugyanarról

Az Országgyűlés kétszer rögzíti ugyanazt a tényt, és a kettőt nem veti össze: a képviselő adatlapja dátumozott frakciósorokat tart, a név szerinti szavazások listái pedig minden szavazásnál külön megcímkézik a képviselőt. Az oldal összeveti őket.

Váltásnak az számít, ha egy mandátumon belül változik a frakció — vagyis a rekordban két azonos ciklusú sor különböző frakciót nevez meg. A ciklushatár nem váltás: aki nyolc választás után nyolcadszor ül be ugyanabba a frakcióba, annak hét határa van és nulla váltása. A határokat is beszámítva 985 jönne ki a 298 helyett.

Az ellenőrzés a váltás előtti és utáni szavazásokat kérdezi meg, a következő váltásig — nyitott ablakkal az A→B→C pályájú képviselő A→B váltása hamis eltérésnek látszana, mert a lista később helyesen C-t ír. És minden váltást a saját ciklusa szavazásaival kell összevetni: a ciklus mezője szerint csoportosítva, de egy másik ciklus névsorával mérve egy 2013-as kilépés 2018-as szavazásokkal kerülne szembe, ami egyéves eltérésnek látszik és nem az. Mindhárom hibát elkövettem, mielőtt a mostani szám kijött.

Amit a mérés talált. A 298 váltásból 135 ellenőrizhető. A két forrás 106-nál egyezik, 14-nél a lista a váltás napján még a régi frakciót írja, 9-nél hónapokkal tovább is, 6-nál pedig olyan frakciót nevez meg, amit a rekord egyik sora sem említ. Ez a 15 nem hiba az oldalon: a két forrás mond mást, és név szerint ki van írva.

Visszhang: ugyanaz a szövegrész két szájból

A jegyzőkönyv szövegét szavakra bontva, 30 szavas átfedő ablakokban hasonlítja össze az oldal, és minden olyan részt kiír, amely szó szerint megismétlődik egy másik képviselő felszólalásában. Az összevetés kisbetűs, központozás nélküli; a jegyzőkönyvvezető zárójeles közbevetései nem számítanak bele. Egy képviselő önmagát ismételve nem visszhang, és az egymást átfedő ablakok közül csak a leghosszabb marad, hogy egy szövegrész egyszer szerepeljen.

A 30 szavas alsó határ mérés eredménye, nem ízlésé: tíz szónál a találatok éle az udvariassági fordulat („köszönöm szépen a szót, tisztelt elnök asszony”) és az ülésvezetési közlés, harminc szónál ezek eltűnnek.

Amit az oldal nem állít. Hogy két azonos szövegrész mit jelent, azt a jegyzőkönyvből nem lehet eldönteni: lehet bizottsági sablon, amit az előadók váltásban olvasnak fel; lehet idézés, amikor az egyik képviselő a másikat olvassa fel; és lehet átvett mondat. A három ugyanúgy néz ki a keresés számára. Az oldal ezért a mérhetőt közli — hány szó, kik, milyen frakcióban, melyik napon, mennyi idővel később —, a minősítést nem.

Irományok: mit tart nyilván az adatlap, és mit nem

Az iromány-adatlap (iromany.cgi) csak a futó ciklusban címezhető: az irományazonosító ciklusonként újraindul, az irománylista pedig a ciklusparamétert figyelmen kívül hagyja. A 43. ciklusban a lista 539 tételt sorol, a szolgáltatás 537 számra ad választ — a különbség egyetlen szám, amely alatt három különböző indítvány fut, és a végpont egyet ad vissza belőlük. A korábbi ciklusoknál ezért csak az az iromány szerepel, amelyikről név szerint szavaztak.

Az adatlap mezői irománytípusonként mást tartanak nyilván, és ez nem hiány: kérdésnél, azonnali kérdésnél és interpellációnál nincs tárgyaló bizottság és nincs kihirdetés; törvényjavaslatnál és határozati javaslatnál nincs címzett; azonnali kérdéshez szöveges PDF sem tartozik. Az oldal ezért csak azt a mezőt említi hiányzóként egy lapon, amit az azonos fajtájú irományok legalább fele hordoz.

Az állapot az adatlap szava, és fajtánként mást jelent: interpellációnál az „elfogadva” a válaszra vonatkozik, nem az indítványra — a megválaszolt interpellációk mind ezt írják, azok is, amelyeknél az eseménynapló szerint a képviselő elutasította a választ. Az oldal ezért nem színezi és nem fordítja le. Az adatlap saját szavazáslistáját sem jeleníti meg: az a ciklus név szerinti szavazásainak szigorú részhalmaza, és épp azoknál üres, amelyeket többször megszavaztak és kihirdettek — a szavazások a ciklus saját listájából jönnek.

Ahol az adatlap eseménye felszólalásra hivatkozik (ülésnap/sorszám), az oldal a jegyzőkönyv szövegét mutatja, ha megvan. Kérdésnél és interpellációnál a hivatkozott két–öt felszólalás maga az iromány, ezért ott a lap kiírja őket, ülésnap és sorszám szerinti sorrendben — a megnevezés az adatlap saját eseményszövege. Törvényjavaslatnál nem: ott a hivatkozás egy többnapos vita szelete, és a szövegek a felszólalások saját lapján állnak.

A lista 400-as korlátja

A szavazások listája (szavazasok.cgi) egy kérésre legfeljebb 400 szavazást ad vissza, mégpedig a legkésőbbieket, és a paraméterei csak dátumot fogadnak el, időpontot nem. Emiatt a hónapos lekérdezések a régebbi ciklusokban csonkák voltak: 54 hónap pontosan 400 sorral tért vissza. Az oldal ezeket a hónapokat naponként listázta újra — így 17 285 korábban hiányzó szavazás került elő. Ami így sem érhető el: az a 26 ülésnap, amelyen önmagában több mint 400 szavazás volt — ezeken a nap utolsó 400 szavazása van meg, a korábbiak nem, és a szolgáltatáson nincs olyan paraméter, amivel elkérhetők lennének. A ciklusok oldala kiírja, hány ilyen napja van; a korpusz számai tehát alsó becslések ezekre a napokra.

Miniszteri pad: kormánytagok mandátum nélkül

A kormány tagjának nem kell képviselőnek lennie: aki nem az, a miniszteri padban ül és felszólal, de nem szavaz. Ilyen névsort az API nem ad, ezért az oldal onnan ismeri fel őket, ahogy megszólalnak: a felszólalás jegyzőkönyvi payloadja azonosítóval nevezi meg a felszólalót (felszolalas.cgi), és ha ez az azonosító sem a képviselői, sem a szószólói listában nincs, de a saját adatlapján a miniszteri padban van ülőhelye, akkor ő a padban ülő kormánytag. A tisztség az, ahogy a jegyzőkönyv megnevezi (beosztás). Amit ez nem talál meg: aki a ciklusban még nem szólalt fel — ezért maradhat üres hely a padban. Egy adatlap régi ülőhelyet is őrizhet (egy volt képviselőé); az ilyen igényt az oldal eldobja, ha a helyet ma más foglalja el vagy nem a padban van. Jelenleg 5 kormánytag ül a padban mandátum nélkül.

Amit az oldal nem állít

Semmit a szavazások okáról. Nem skáláz, nem súlyoz, nem jósol; egyetlen feltevését (a hiányzók) annak nevezi. A színek az oldal jelölései.

Hivatkozás

karzat: Módszer. Az Országgyűlés Web API-jának adataiból, frissítve 2026-09-03 06:13. https://ogykarzat.hu/modszer/index.html
BibTeX
@misc{karzat-modszer,
  title = {Módszer},
  howpublished = {\url{https://ogykarzat.hu/modszer/index.html}},
  note = {karzat — az Országgyűlés szavazásai; az Országgyűlés Web API-jának adataiból, frissítve 2026-09-03 06:13},
  year = {2026}
}