-
SVOLTA + Update: emendamenti-freschezza — il dataset
osr:Emendamentosi è riallineato tra il 7 e il 10 luglio: Piano Casaddl/60233da 0 a 799 record (682 E + 114 G + 3 Q), match esatto col bulk AKN (400emend/+ 399emendc/). Freschezza quindi intermittente, non garantita. Trappola nuova: laosr:dataPresentazionedei DDL recenti è ora tipizzataxsd:string(nonxsd:date) — la query canonica del cutoff con literal tipizzato sottoconta (9 vs 799+); la regola "date Senato sempre xsd:date" non vale più uniformemente. -
Update: emendamenti-firmatario — gap di tooling RISOLTO:
amendments --with-proponentsestrae i proponenti dal bulk AKN senza WAF (conversioneURLTestoXml→raw). Documentate le due varianti markup (emend/testo diretto,emendc/nome inan:span; preferireTLCPerson@showAs, nome completo) e i file stub vuoti (200 OK, ~295 byte, zero contenuto). -
Update: akn-bulk-data — sezione implementazione (
src/core/akn.ts) + quirks: listing web-UI troncato a 1000 voci contotalCountreale nel payload;emendc/usa lo stesso suffisso-em.akn.xml; forma payload.payload.codeViewTreeRoute.tree.items[]. -
Update: freschezza e provenienza, assenti Camera, audizioni Camera — recepite (spersonalizzate, come evidenze sul dato) le conferme del gestore del repository LOD Camera ricevute via scambio email. Tre punti: (1) l'ontologia OCD è ferma al 2009-2011 per la parte centrale, con soli sviluppi parziali sulle votazioni — è la causa a monte degli ambiti non modellati; (2) gli emendamenti non sono presenti nel repository RDF (conferma dell'assenza già verificata su endpoint, issue #19); (3) le audizioni non sono maggiormente strutturate (conferma del recupero solo-da-titolo). Aggiunta a
freschezza-e-autorevolezza.mdla sezione "provenienza": il RDF è l'ultimo anello di un processo distribuito, pubblicato solo alla ricezione delle triple dai singoli produttori dei database sorgente → spiega perché non esiste un "as-of" affidabile. Conferma reciproca: osservazione empirica e provenienza dichiarata convergono.
- Update: sedute commissione Senato — esplorazione live via agent-browser (WAF,
curlbloccato) per capire dove vivono le audizioni. Confermato il mapping URI commissione → path JSON (commissione/<tipo_cod_comm>-<cod_comm>). Testatodescr_tipo_vestesu 2 commissioni (Affari Costituzionali, Affari sociali/sanità): solo 4 valori, zero "audiz" nel JSON — la classificazione JSON non distingue mai un'audizione. Scoperto che il "Documento completo" del resoconto (show-doc?...&part=doc_dc) espone il testo integrale scrapeable con attribuzione per senatore, ma nel campione testato (2 resoconti) non c'era un'audizione in agenda, quindi nessun esempio positivo trovato in quella via. - SVOLTA: trovata (segnalata dall'utente) la pagina "Audizioni e documenti acquisiti" per commissione (
senato.it/commissioni-e-giunte/commissioni-permanenti/<N>a-commissione-permanente/audizioni-e-documenti-acquisiti, paginata?page=N). Corregge la conclusione "auditi assenti ovunque": qui sono pubblicati nome+ruolo+ente dell'audito, il riferimento al DDL (A.S. <n>), la seduta (numero/data/veste/commissione) e documenti/video. Filtro tassonomia/tipologia?type=Ndistingue Esami DDL / Altre audizioni / Esami atti Governo / Esami atti UE / Indagini Conoscitive (nominate singolarmente). Verificato su 2ª (Giustizia) e 10ª (Sanità). Fattibile uno scraping HTML mirato — nessun WAF riscontrato su queste pagine specifiche (da riverificare su volumi maggiori prima di produzione). Dettagli, struttura record e limiti residui in/senato/sedute-commissione.md.
- Creation: Tipo semantico di una votazione Senato — finale/fiducia nel label, non in osr:tipoVotazione (Gotcha, Senato) — verificato per enumerazione che
osr:tipoVotazioneè la modalità di voto (elettronica 7821 / verifica numero legale 83 / controprova 70 / nominale con appello 57 / segreta 13 su leg. 19), NON il tipo semantico. "Votazione finale" e "questione di fiducia" vivono solo nelrdfs:label. Trappolasfiducia⊃fiducia(le mozioni di sfiducia verrebbero catturate da un filtro fiducia ingenuo). Limite dati: il tema del decreto (es. "caccia") NON è nel label delle votazioni — vive nel DDL collegato, quindi--keyword cacciatorna vuoto (risolvibile via--ddl-uri+bill-progress --keyword). Implementato insenato-votesv0.18.0 con--confidence-vote/--final-vote/--keyword(gap #2 del reportdocs/news-agent/2026-07-07_13-47.md). Simmetria con la Camera, dove la fiducia ha invece un campo strutturato (ocd:richiestaFiducia). - Creation: Iter di un atto Camera — timeline degli stati (ocd:rif_statoIter) (Reference, Camera) — l'iter Camera è una timeline di stati via
ocd:rif_statoIter(uno per fase,dc:date+dc:title); il tool non filtra né taglia gli stati. Verificato 2026-07-07 che la copertura è alla pari tra legislature:ac18_2463(Cura Italia) ha 7 stati con le fasi tipiche (Assegnato, In discussione, Approvato definitivamente…), distribuzione del conteggio stati su 300 atti quasi identica tra leg. 18 e leg. 19 (coda 26 vs 22). Chiude il dubbio "granularità iter ridotta leg. 18" del report news-driven: falso allarme per il ramo Camera. Documentata l'asimmetria di ramo (non di legislatura): il ramo Senato dibill-progressdà per design solo lo stato corrente (osr:statoDdl), la timeline dettagliata del DDL è nel feed RSS (rss_url). Emerso dalla gap analysis news-driven del 2026-07-07. - Update: Trappole Virtuoso — funzioni stringa e confronti — generalizzata la trappola #2. Non riguarda solo il risultato di
SUBSTR/REPLACE: il confronto numerico spurio di>=/<=colpisce anche una variabile legata direttamente adc:date(Camera, literalAAAAMMGG), senza alcuna funzione di mezzo. Verificato 2026-07-07:FILTER(?date >= "20250201") FILTER(?date <= "20250228")→ 0 righe, conSTR(?date)→ 436 (coerente conSTRSTARTS); gennaio senzaSTR()→ 7378 (falso). Aggiunta la regola opposta per le date tipizzate del Senato (xsd:date→ confrontare con literal tipizzato, nonSTR()). Nuovo caso reale: filtro--date-from/--date-todivotes/bills/sessions/committee-sessions/audizioniche dava vuoti silenziosi. Emerso dalla gap analysis news-driven del 2026-07-07.
- Update: sedute commissione Senato — aggiunta sezione "il dato manca dal LOD ma esiste fuori: liste JSON
listasommcomm". Il Webmaster del Senato (email 2026-07-06) conferma che lo SPARQL suosr:SedutaCommissionenon espone resoconto/OdG e indica le liste JSON statichesenato.it/static/bgt/listasommcomm/<TIPO_COD_COMM>/<COD_COMM>/t/<LEG>/<ANNO>/index.jsoncome fonte con link ai resoconti. Schema verificato via agent-browser (WAF →curlHTTP 202 vuoto): per seduta esponeid_testo,num_sed_comm,ora_inizio/fine,descr_tipo_veste(Plenaria/UdP/Comitato ristretto/Sottocommissione pareri),diz_raggr(sedute congiunte). Link al sommario dei lavori daid_testo:show-doc?leg=<LEG>&tipodoc=SommComm&id=<id_testo>&idoggetto=0(equivalente Senato del bollettino Camera). Restano assenti ovunque: presenti a ciascuna seduta e persone/enti auditi (chiesti nella stessa email, in attesa di riscontro sul limite di rate).
- Creation: Date degli atti di sindacato ispettivo (aic) (Gotcha, Camera) — verificato su
aic3_02760_19(question time 1 luglio) chedc:dateè la presentazione (a volte compostaAAAAMMGG-AAAAMMGG= presentazione-modifica, ~62% degli aic leg.19), mentre la data di conclusione/trattazione èocd:endDate(20260701, conocd:concluso=1), campo strutturato e filtrabile che il toolaicnon usa. Caveat:endDatenon è "data di seduta" — raggruppa tipi eterogenei chiusi nella stessa finestra (194 atti il 20260701; le 58 "immediata" tracciano a 2 sedute, n.683+684). La seduta non è un link strutturato: il numero è solo nel testo didc:description, quindi il filtro per singola seduta non è fattibile in modo pulito (limite reale del LOD). Emerso dalla gap analysis news-driven del 2026-07-05. - Creation: Emendamenti al Senato — firmatario assente dal LOD (Gotcha, Senato) — verificato (campione 200) che
osr:Emendamentoesiste nel LOD ma non espone il firmatario: solonumero/tipo/legislatura/flagCommissione/URLTesto/URLTestoXml/oggetto/label, nessuna relazione inversa senatore→emendamento. Il proponente sta solo nel testo AKN (osr:URLTestoXml, tagan:docProponent, primo = primo firmatario), dietro AWS WAF (403 a curl, recuperato via agente browser: es.emendamento/1067383= Amidei/Ancorotti/Fallucchi/Maffoni/Silvestroni). Asimmetria di tooling concamera-amendments(che il firmatario lo recupera fuori dal LOD via app HTML), non di dato. Emerso dalla gap analysis news-driven del 2026-07-05. - Creation: Firmatari di un DDL — osr:iniziativa e primoFirmatario (Gotcha, Senato) — verificato che
osr:primoFirmatarionon è mutuamente esclusivo: per gli atti di governo il flag=1vale su più presentatori. Es. Piano Casa (ddl/60233, DL): flag su Meloni (Pres. Consiglio) e Salvini (MIT competente); decreto collegialeddl/56683: flag su tutti e 17 i ministri; iniziativa parlamentareddl/55281(S.104 Bazoli): un solo flag. Il toolbill-signatoriesmappa il flag suis_primary, fedele alla sorgente ma con etichetta che suggerisce un'unicità inesistente (i presentatori con flag sono i proponenti, quelli senza sono di concerto). Emerso dalla gap analysis news-driven del 2026-07-05. - Update: Emendamenti (assenti dal LOD) — aggiunta la sezione "Il dato esiste fuori dal LOD: l'app HTML
getProposteEmendative". Verificato (browser + curl) che gli emendamenti Camera, pur assenti dal LOD OCD, sono pubblicati integralmente dall'app HTMLdocumenti.camera.it/apps/emendamenti(attiva leg. 19), per atto e per sede, con articolo/numero/firmatario/link testo. Nessuna API (HTML server-rendered, il conteggio "(N)" è JS → vuoto via curl); URL non costruibile a mano (URN con sede/lettura/com:NN→ estrarre dalla scheda atto); àncore di parsing stabili (tr.rigaArticoloNormale,tr.normale,idPropostaEmendativa,idPersona); conteggio esatto contandoidPropostaEmendativa(AC 2696: referente 37, Assemblea 25). Esito solo nella vista per-seduta. Implementato nel toolcamera-amendments(v0.14.0, cheerio/slim).
- Creation: Freschezza del dato e cosa fa fede sull'approvazione (Gotcha, trasversale) — sondato il segnale di freschezza sui due endpoint (2026-07-02): Camera espone
dcterms:modifiedsuivoid:Datasetma congelato a feb 2024 su dataset vivi fino a metà 2026; Senato non ha metadati di freschezza (le 926 tripledcterms:modifiedsono interni Virtuoso del 2012). Conseguenza: un "non trovato" su dato recente è ambiguo (non caricato / assente / non avvenuto). Documentata la gerarchia di autorevolezza sull'esito (resoconto stenografico → scheda iter → GU) e la distinzione critica "approvato da un ramo" ≠ "legge". - Update: sedute commissione Camera — aggiunta sezione
ocd:discussione(classe generale): è la voce all'ordine del giorno di una seduta (unità atomica della catenaseduta → dibattito → discussione), ~533k istanze. Chiarito chedc:typeè la fase procedurale (esame/rinvio/votazione/parere), valorizzato su ~36k/533k, non una categoria di evento → per questo la natura "audizione" sta neldc:title, non indc:type. Elencate le proprietà reali (rif_intervento,rif_seduta,rif_deputato/relatore/persona,dc:relation→ bollettino). - Update: sedute commissione Camera — riscritta la sezione
ocd:dibattito. Correzione: le audizioni della leg. 19 SI trovano via SPARQL, non viadc:type(solo leg. 14) ma via titolo dellaocd:discussionecollegata al dibattito (ocd:rif_discussione→dc:titlecon "Audizione di ..."). 6.636 discussioni leg. 19, dato vivo fino al 2026-06-16, con nome+ruolo dell'audito nel titolo. Documentata la Via A (dc:type, leg.14) vs Via B (titolo discussione, leg.19). Allineatotmp/audizioni.md(v2).
- Creation: sedute commissione Senato (Entity Map) — schema
osr:SedutaCommissioneper commissione+data; proprietà reali (osr:dataSeduta,osr:titoloBreve), trappola doppia etichetta (→MIN(?tb)+GROUP BY), assente attività femminicidio (0 sedute sucommissione/0-141e4-223). - Creation: sedute commissione Camera (Entity Map) — schema
ocd:seduta+ocd:organoper organo+data;dc:datestringaAAAAMMGG,ocd:rif_organo, filtro legislatura obbligatorio (repubblica_<N>). La Commissione femminicidio (o19_3941) ha qui i suoi 181 URI seduta / 157 date distinte (fino a giu 2026): l'attività "viva" della bicamerale è solo in OCD. - Initialization: creata struttura del bundle OKF (
index.md,camera/,senato/). - Creation: prima concept page verificata — emendamenti Camera assenti dal LOD, esito del sondaggio endpoint del 2026-07-01 (issue #19).
- Creation: trappole Virtuoso — Senato (Gotcha), con il quirk di matching nomi fn/ln separati verificato oggi (issue #20). Correzione successiva: rimossa l'affermazione troppo forte "curl diretto → 403" (non stabile alla verifica) e ammorbidita la nota sulle subquery aggregate (
COUNTsemplice può funzionare; forme più complesse restano fragili). - Creation: collegare Votazione al DDL (Query Template) — link parziale + resolver
osr:fase="S.<num>", da indagine LOD (issue #21). - Update: resolver #21 implementato nei tool
senato-votes/votes(colonnabill_number+ fallbackddl_uri/bill_uri); Camera via verificadc:identifier, non URI fabbricato (v0.8.0).