Skip to content

Integrare i bulk data Akoma Ntoso del Senato (GitHub) come fonte complementare #45

Description

@aborruso

Contesto

Il Senato pubblica su GitHub i bulk data in formato Akoma Ntoso: https://github.com/SenatoDellaRepubblica/AkomaNtosoBulkData (CC BY 4.0, aggiornato quotidianamente, legislature 13–19). Tutto documentato e verificato in docs/lod-wiki/senato/akn-bulk-data.md.

Perché conta: stesso ID dei ddl del LOD (Leg19/Atto00060233ddl/60233, join diretto da ddl_uri) e niente WAF (raw.githubusercontent con curl semplice, a differenza di senato.it).

Gap noti che colma (verificati 2026-07-10)

  1. amendments Senato fermo ad agosto 2024 (amendments (Senato): dataset osr:Emendamento fermo da agosto 2024 #38): emend//emendc/ contengono gli emendamenti anche per DDL del 2026 (verificato sul Piano Casa Atto00060233). I file AKN contengono anche il proponente (amendments (Senato): aggiungere il proponente via parsing AKN (simmetria con camera-amendments) #30), finora dietro WAF.
  2. bill-text: ddlpres/ (testo presentato), ddlcomm/ (relazione), ddlmess/ (messaggio) in XML senza passare dal fascicolo PDF WAF-ato.
  3. Votazioni COVID 2020 assenti dal LOD (Gap dataset Senato: votazioni assenti per mar-apr 2020 (leg.18) — nota wiki + emptyHint + segnalazione gestore #36): il resoconto d'Aula del 9/4/2020 (Leg18/Atto00052873/resaula/01150035-ra.akn.xml) contiene la proclamazione della fiducia sul Cura Italia con i contatori — testo narrativo, serve parsing.
  4. committee-sessions (committee-sessions (Senato): arricchire con link resoconto/veste/orari via listasommcomm (fonte fuori LOD, dietro WAF) #33), parziale: sommcomm/ per-atto senza WAF.

Non copre: audizioni (organizzazione per-atto), votazioni strutturate.

Costruzione URL senza API GitHub (verificato)

  • Path cartella deducibile al 100%: Leg<leg>/Atto<id ddl zero-padded 8>/<tipologia>/.
  • Emendamenti nel LOD: filename = ultimo segmento di osr:URLTestoXml zero-padded (verificato: em. 900011 → Leg18/Atto00053429/emend/01181876-em.akn.xml). Conversione WAF→raw con pura sostituzione di stringa, zero listing.
  • Resto (post-2024, resoconti, testi): endpoint JSON della web UI (GET github.com/.../tree/master/<path> con Accept: application/json.payload.codeViewTreeRoute.tree.items[]), senza token e fuori dal rate limit REST (60/h anonimo). Non documentato: throttle prudenziale + fallback (partial clone git per usi batch).

Candidati concreti

Attenzione

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions