Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ datasets/current/procurement/contracts.trig
# bulk 2014-2020 EU-funds contracts (~26k, ~29 MB) — regenerate with `make -C etl eu-funds`
datasets/current/eu-funds/contracts.trig

# bulk public-sector invoice aggregates (buyer-supplier-year, from ~14.4M invoices) —
# regenerate with `make -C etl public-spending`
datasets/current/public-spending/aggregates.trig

# VTEK browser harvests (SKAIDRIS lobbying, PINREG private interests) — re-harvest with the
# harvest-vtek skill, never edit; data/institution-aliases.csv (curated) IS committed
etl/vtek/data/*.json
Expand Down
21 changes: 20 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,15 @@ make -C etl/eu-funds # 2014-2020 EU structural-funds implementation co
# code with amounts. Repayments/irregularities are NOT modelled
# (their keys are a hash of an unpublished id). contracts.trig is
# gitignored bulk output (~29 MB). In `make all`.
make -C etl/public-spending # opt-in, NOT in `make all`: public-sector invoice totals per
# buyer-supplier-year (NBFC nbfc/viesojo_sektoriaus_saskaitos via
# get.data.gov.lt). ltlod-public-spending streams ~14.4M invoices
# (Saskaitos) + ~32M party rows (SaskaituSalys), keyset-paginated,
# into a temporary on-disk SQLite db and aggregates there (the
# party rows can't be windowed by invoice year, so the whole table
# is read — ~40-90 min fetch). Buyer (Pirkėjas) + supplier
# (Tiekėjas) link by bare JAR code; party names are pseudonymised
# (from the register). aggregates.trig is gitignored bulk output.
make -C etl land-acquisitions # NŽT applications to acquire agricultural/forest land (Spinta,
# ~140k rows) + JAR names for the code check (547k rows); legal-entity
# applications per document (applications.trig, ~430k quads, gitignored),
Expand Down Expand Up @@ -449,7 +458,7 @@ since the rows differ in the image cell.
`etl/officials/`, legal-entity registration / deregistration, PINREG ties, insolvency proceedings
(start → end instants); tax arrears
snapshots (day); declarations, the
natural-person land totals and taxes paid per year (years). Not yet:
natural-person land totals, taxes paid per year and public-sector invoice aggregates (years). Not yet:
admin-unit validity. Days that were public holidays carry
`dct:type` → `taxonomies/holidays/{slug}/#this`, matched in `calendar.rq` from
`etl/calendar/data/holidays.csv` (rules: fixed date / Easter + offset, Easter
Expand Down Expand Up @@ -696,6 +705,16 @@ dangle until the full JAR register is loaded — expected. Gitignored bulk outpu
Repayments and irregularities are not modelled: their `project_hash`/`project_hash_id` keys hash
an unpublished internal SFMIS id — tested against every published id (code, `_id`, `project_id`,
`Contract._id`) under md5/sha*/crc/blake, salted, prefix/suffix, 0 matches. 2021-2027 not on Spinta.
Public spending (`public-spending/`, 2026-10-25 NBFC feeds, opt-in): from 14 438 763 invoices
(Saskaitos) ⋈ 32 244 372 party rows (SaskaituSalys), streamed into SQLite and aggregated,
aggregates.trig = 432 570 (buyer, supplier, year) documents at the default MIN_TOTAL=1000 EUR
floor (the full set is ~3.9M; 63 % are zero-total credit-note/VAT pairs). The join is
`SaskaituSalys.sf_id` = `Saskaitos.sf_id` normalized to an `LT` prefix; years restricted to the
calendar's 1977-2027 (28 malformed-date rows dropped). riot validates, 0 blank nodes, 0 dangling
calendar years; `ltlod:spendingBuyer`/`ltlod:spendingSupplier` links into `legal-entities/` dangle
until the full JAR register is loaded — expected. Gitignored bulk output (~418 MB); NOT in `make
all` (the ~46M-row fetch is ~40-90 min). SHACL is not run over all 432k graphs by default (not in
CI, like other bulk outputs).
`python3 queries/render-examples.py` re-runs all example queries end-to-end.
Name-based person links, audited 2026-10-21 (`make -C etl/audit score` over the 400-link sample in
`etl/audit/reviews/`, verdicts filled; 0 wrong in 50 means precision >= 92.9 %; the `links` column is the
Expand Down
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ kalba (kaip SQL reliacinėms DB). Pavyzdžiai — [žemiau](#ką-jau-galima-atsa
| [`taxes`](etl/taxes/) (failai `taxpayers.trig` ir `taxes-paid.trig` neįtraukiami į git — sugeneruojami `make -C etl taxes`; į git įtraukiamas tik kubo aprašas `dataset.trig`) | 178 177 juridinių asmenų mokesčių įrašai (dviejų VMI srautų sąjunga): 30 764 turi dabartinę mokestinę nepriemoką (bendra, pradelsta, atidėta, atidėta pradelsta — EUR, su registracijos savivaldybe ir VMI skelbimo diena kalendoriuje), 620 689 (juridinis asmuo, metai) sumokėtų mokesčių stebėjimai 2022–2026 m. (175 198 skirtingi asmenys); mokesčių mokėtojas susietas su JAR įrašu (`ltlod:taxpayer`) — jungiasi su pirkimų tiekėjais, Sodros darbdaviais ir kampanijų aukotojais per tą patį kodą | [VMI](https://get.data.gov.lt/datasets/gov/vmi/ja_nepriemokos/:ns) per get.data.gov.lt (`vmi/ja_nepriemokos` nepriemokos ⋈ `vmi/ja_mokesciai` sumokėti mokesčiai, pagal JAR kodą; Valstybės duomenų agentūra, CC BY 4.0) |
| [`insolvency-cases`](datasets/current/insolvency/) | 6 412 įmonių nemokumo bylų: 6 254 bankrotai (iš jų 834 pripažinti tyčiniais) ir 158 restruktūrizavimai; kiekviena byla susieta su JAR įrašu (`ltlod:insolvent`), savivaldybe ir kalendoriaus dienomis (pradžia ir pabaiga — `time:Interval`); nurodomas apygardos teismas, bankroto iniciatorius ir ne teismo / supaprastinto / tyčinio bankroto požymiai. Bankrotų ir restruktūrizavimų ataskaitiniai duomenys — nuo 2020 m., tyčinių bankrotų sąrašas — nuo 1994 m. | [AVNT](https://get.data.gov.lt/datasets/gov/avnt/imoniu_bankrotas/:ns) per get.data.gov.lt (`avnt/imoniu_bankrotas` + `avnt/imoniu_restrukturizavimas` + `avnt/tyciniai_bankrotai`; Valstybės duomenų agentūra, CC BY 4.0) |
| [`eu-funds`](etl/eu-funds/) (failas neįtraukiamas į git — sugeneruojamas `make -C etl eu-funds`) | 25 978 Europos Sąjungos struktūrinių fondų (2014–2020 m.) finansavimo sutarčių: kiekviena susieta su paramos gavėju (`ltlod:beneficiary`) ir projekto partneriais (JAR pagal įmonės kodą), savivaldybe ir pradžios diena kalendoriuje; ~685 turi formalų projekto kodą su skirtomis ES bei bendromis lėšomis (EUR), likusios — finansinių priemonių išmokos (be kodo). Lėšų grąžinimai ir pažeidimai neįtraukti — jų šaltinio raktas yra neskelbiamo vidinio identifikatoriaus maiša; 2021–2027 m. duomenų dar nėra | [Finansų ministerija](https://get.data.gov.lt/datasets/gov/finmin/sutartys/:ns) per get.data.gov.lt (`finmin/sutartys` ⋈ `finmin/paraiskos`; Valstybės duomenų agentūra, CC BY 4.0) |
| [`public-spending`](etl/public-spending/) (failas neįtraukiamas į git — sugeneruojamas `make -C etl public-spending`) | viešojo sektoriaus gautų sąskaitų faktūrų suvestinės: ~14,4 mln. sąskaitų (`Saskaitos`), suvestų pagal pirkėją, tiekėją ir metus (sąskaitų skaičius, suma su PVM ir be PVM). Pirkėjas (`ltlod:spendingBuyer`) ir tiekėjas (`ltlod:spendingSupplier`) susieti su JAR įrašu pagal kodą; sąskaitos šalių pavadinimai šaltinyje užšifruoti, todėl imami iš registro. Apima ir smulkius, žemiau pirkimų ribų esančius pirkimus | [Valstybės iždas (NBFC)](https://get.data.gov.lt/datasets/gov/nbfc/viesojo_sektoriaus_saskaitos/:ns) per get.data.gov.lt (`Saskaitos` ⋈ `SaskaituSalys`; Valstybės duomenų agentūra, CC BY 4.0) |
| [`land-acquisitions`](datasets/current/land-acquisitions/) (juridinių asmenų prašymų failas neįtraukiamas į git — sugeneruojamas `make -C etl land-acquisitions`) | prašymai Nacionalinei žemės tarnybai leisti įsigyti žemės ūkio ar miškų ūkio paskirties žemės (nuo 2023 m.): 17 842 juridinių asmenų prašymai po vieną — su NŽT sprendimu, prašomu ir jau valdomu plotu, savivaldybe, pateikimo ir sprendimo dienomis, susieti su juridiniu asmeniu, jei NŽT nurodytas pavadinimas atitinka JAR kodą; 121 869 fizinių asmenų prašymai — tik suskaičiuoti pagal savivaldybę, metus ir paskirtį (447 suvestinės, mažiau nei 3 prašymų langeliai praleisti), nes NŽT jų kodus ir vardus užšifruoja | [NŽT](https://get.data.gov.lt/datasets/gov/nzt/paraiskos/Paraiska) per get.data.gov.lt; pavadinimų patikra — pagal JAR |
| [`calendar`](etl/calendar/) (failas neįtraukiamas į git — sugeneruojamas `make -C etl/calendar`) | kalendorius nuo 1977-01-01 (anksčiausia JAR registracija) iki kitų metų pabaigos: metai, mėnesiai ir dienos (2027 m. imtinai — 51 metai, 612 mėnesių, 18 627 dienos), valstybinių švenčių dienos pažymėtos; visos kitų rinkinių datos (posėdžiai, balsavimai, kadencijų, sesijų ir narysčių pradžios bei pabaigos, juridinių asmenų įregistravimas ir išregistravimas, deklaracijų ataskaitiniai metai) susietos su kalendoriaus diena ar metais (`dct:temporal`) | sugeneruojama ETL metu; šventės — pagal Švenčių dienų įstatymą ir Darbo kodeksą, su kiekvienos šventės galiojimo datomis ([`etl/calendar/data/holidays.csv`](etl/calendar/data/holidays.csv)) |
| [`taxonomies`](datasets/current/taxonomies/) | 27 SKOS klasifikatorių: administracinių vienetų lygiai, teisinės formos (iš JAR), statusai, pareigų/padalinių/vietovių/gatvių tipai, Seimo veiklos (sesijų ir posėdžių) tipai, balsavimo būdai, klausimų svarstymo stadijos, deklaruojamo turto rūšys, VMI deklaruojančiųjų pareigybių grupės, valstybinės šventės, žemės paskirtys, NŽT sprendimai dėl žemės įsigijimo, pareiškėjo kodo patikros rezultatai, švietimo įstaigų tipai, kultūros paveldo apsaugos statusai, reikšmingumo lygmenys, objektų rūšys ir vertingųjų savybių pobūdis, lobistinės veiklos sritys, ryšių su juridiniais asmenimis pobūdžiai, asmenų susiejimo būdai, nemokumo bylų rūšys, bankroto iniciatoriai, apygardos teismai | JAR + išvesta iš duomenų |
Expand Down Expand Up @@ -140,6 +141,8 @@ graph LR
insolvency -->|sdmx-dimension:refArea| admin
eufunds[ES fondų finansavimas] -->|ltlod:beneficiary · JAR kodas| legal
eufunds -->|sdmx-dimension:refArea| admin
pubspend[viešojo sektoriaus sąskaitos] -->|ltlod:spendingBuyer / spendingSupplier · JAR kodas| legal
pubspend -->|dct:temporal| calendar
land[prašymai įsigyti žemės] -->|ltlod:applicant · patikrinus pavadinimą| legal
land -->|schema:location| admin
sittings[plenariniai posėdžiai] -->|eli-dl:forms_part_of| sessions[sesijos]
Expand Down Expand Up @@ -193,6 +196,7 @@ Principas: **pirmiausia W3C standartai → tada srities žodynai (ES SEMIC, OP k
| Juridinių asmenų mokesčiai (VMI) | W3C [Data Cube](https://www.w3.org/TR/vocab-data-cube/) (`qb:DataSet`, `qb:Observation`) + SDMX-RDF `sdmx-dimension:refArea` (savivaldybė); `ltlod:taxpayer` → juridinis asmuo (JAR kodas); nepriemokos momentinė nuotrauka (`#this`) — `dct:temporal` → kalendoriaus diena, matai `ltlod:arrears`, `ltlod:overdueArrears`, `ltlod:deferredArrears`, `ltlod:deferredOverdueArrears`; sumokėti mokesčiai (`#paid-{metai}`) — `dct:temporal` → kalendoriaus metai, matas `ltlod:taxesPaid` (visi — EUR) |
| Nemokumo bylos (AVNT) | `ltlod:InsolvencyProceeding` — viena byla viename dokumente; `dct:type` → nemokumo rūšis (bankrotas / restruktūrizavimas), `ltlod:insolvent` → juridinis asmuo (JAR kodas), `sdmx-dimension:refArea` → savivaldybė, `ltlod:court` → apygardos teismas, `ltlod:initiatedBy` → bankroto iniciatorius; bylos eiga — W3C [Time](https://www.w3.org/TR/owl-time/) `time:hasTime` → `time:Interval` (`#start` → `#end` `time:Instant` → kalendoriaus diena); loginiai požymiai `ltlod:outOfCourt`, `ltlod:simplified`, `ltlod:intentional` |
| ES fondų finansavimas 2014–2020 (Finansų ministerija) | `ltlod:EUFundingContract` — viena įgyvendinimo sutartis viename dokumente; `dct:identifier` → projekto kodas, `ltlod:beneficiary` → paramos gavėjas, `ltlod:fundingPartner` → projekto partneriai (JAR kodas), `sdmx-dimension:refArea` → savivaldybė; matai `ltlod:euAmount` / `ltlod:totalAmount` / `ltlod:decidedEuAmount` (EUR); `dct:date` + `dct:temporal` → pradžios diena; loginiai požymiai `ltlod:stateAid` / `ltlod:deMinimisAid`. Nėra W3C/ES RDF žodyno sanglaudos projektams — tai `ltlod:` kaskados pabaiga |
| Viešojo sektoriaus sąskaitos (NBFC) | `ltlod:SpendingAggregate` — viena pirkėjo–tiekėjo–metų suvestinė viename dokumente; `ltlod:spendingBuyer` / `ltlod:spendingSupplier` → juridinis asmuo (JAR kodas), `dct:date` `xsd:gYear` + `dct:temporal` → kalendoriaus metai; matai `ltlod:invoiceCount`, `ltlod:billedTotal` (su PVM) / `ltlod:billedNet` (be PVM), EUR. Grynai suvestinė (~14,4 mln. sąskaitų per daug, kad kiekviena būtų atskiras dokumentas; šalių pavadinimai užšifruoti) — tai `ltlod:` kaskados pabaiga |
| Asmenys | FOAF (+ suderinama su [Core Person 2.0](https://semiceu.github.io/Core-Person-Vocabulary/releases/2.00/)) |
| Klasifikatoriai | [SKOS](https://www.w3.org/TR/skos-primer/) |
| Bendrasis fallback | [schema.org](https://schema.org/) — tik kur W3C/ES termino nėra: galiojimo ir gyvavimo datos (`schema:validFrom`/`validThrough`, `schema:foundingDate`/`dissolutionDate`), `schema:PoliticalParty`, `schema:EventSeries`/`schema:Event` (sesijos, posėdžiai) |
Expand Down Expand Up @@ -253,6 +257,9 @@ make -C eu-funds # ES struktūrinių fondų (2014–2020 m.
# per get.data.gov.lt (finmin); ~26 tūkst. sutarčių, susietų su
# paramos gavėjais ir partneriais (JAR), savivaldybe ir
# kalendoriumi; failas neįtraukiamas į git
make -C public-spending # neprivaloma (nėra `make` sąraše): viešojo sektoriaus sąskaitų
# suvestinės pagal pirkėją–tiekėją–metus iš ~14,4 mln. sąskaitų
# (NBFC); ~40–90 min. atsiuntimas; failas neįtraukiamas į git
make -C sodra # Sodros darbdavių duomenys iš naršykle atsisiųstų
# data/monthly-{metai}.csv.zip (atvira.sodra.lt saugo Cloudflare;
# SODRA_MONTHS=12 — kiek paskutinių mėnesių;
Expand Down Expand Up @@ -455,7 +462,10 @@ Daugiau klausimų, į kuriuos duomenys jau atsako (visi su užklausomis ir pilna
- kuriose savivaldybėse iškelta daugiausia bankroto bylų ir kaip jų skaičius kito pagal metus;
- kurių politikų deklaruoti juridiniai asmenys gavo 2014–2020 m. ES struktūrinių fondų paramą
(privatūs interesai × ES fondai per JAR kodą), ir kurios įmonės gavo ir ES paramą, ir laimėjo
viešuosius pirkimus (ES fondai × pirkimai per JAR kodą).
viešuosius pirkimus (ES fondai × pirkimai per JAR kodą);
- kuriems tiekėjams viešasis sektorius sumoka daugiausia smulkiomis sąskaitomis, kurių bendra
suma viršija viešųjų pirkimų ribą, nors pirkimų registre jų nėra (viešojo sektoriaus sąskaitos
× pirkimai per JAR kodą).

Turto deklaracijų pjūviai pagal partiją, kadencijos pokyčius, turtą užsienyje ir dalyvavimą
balsavimuose — duomenų istorijoje „Seimo turtas 2024“ (`app/stories/seimo-turtas-2024.ttl`).
Expand Down
Loading
Loading