feat(geography): provincia, nazione e regione di nascita su entrambe le camere#59
Merged
Merged
Conversation
Il Senato espone geografia di nascita strutturata (osr:provinciaNascita, osr:nazioneNascita), non solo la città: corretto l'assunto sbagliato in codice e wiki (verificato con COUNT su leg.19: cittaNascita 254/254, provinciaNascita 250/254, nazioneNascita 254/254). - senators list: nuove colonne birth_province, birth_country, birth_region - deputies list: geografia decodificata dallo slug URI (comune_provincia_regione) in birth_city/province/country/region, con disambiguazione slug a 2 parti (Aosta/Trentino comune_regione vs estero comune_stato) - src/core/province-region.ts: mappa provincia->regione da SITUAS/ISTAT report 64 (union snapshot 2010+2020+recente, date-accurate via opensituas; +3 alias per le forme brevi Senato assenti in SITUAS), bundle-safe; regione canonica identica tra camere (verificato: 'Veneto' uguale). Copertura 100%. - solo birth_region e unificata cross-camera; city/province/country restano nella forma nativa di ciascuna fonte (documentato in wiki) - wiki dati-anagrafici/index corretti; +10 test unitari (resolver+parser), 158 verdi Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
| Filename | Overview |
|---|---|
| src/tools/deputies.ts | Adds Camera birthplace parsing and strips query or fragment suffixes before parsing the URI segment. |
| src/core/province-region.ts | Adds province normalization, province-to-region lookup, and canonical region mapping. |
| src/tools/senators.ts | Adds Senate birth province and country fields and derives birth region from province. |
| src/tools/deputies.birthplace.test.ts | Adds tests for Camera birthplace parsing across Italian, regional two-part, foreign, and empty slug cases. |
| src/core/province-region.test.ts | Adds tests for province normalization, region lookup, aliases, and canonical region slugs. |
Reviews (2): Last reviewed commit: "fix(geography): harden birthplace URI pa..." | Re-trigger Greptile
There was a problem hiding this comment.
Pull request overview
Questa PR estende i tool di lista deputies (Camera) e senators (Senato) per esporre in modo coerente la geografia di nascita (provincia/nazione/regione) e corregge la documentazione/wiki sull’assunto errato “al Senato c’è solo la città”. Introduce inoltre una risorsa locale bundle-safe per derivare la regione dalla provincia (Senato) e per canonicalizzare le regioni (cross-camera).
Changes:
senators list: aggiunte colonnebirth_province,birth_country,birth_region(quest’ultima derivata via lookup provincia→regione).deputies list: parsing dello slug Camera del luogo di nascita e popolamento dibirth_city/birth_province/birth_country/birth_region, con disambiguazione degli slug a 2 parti.- Nuovo modulo core
province-region+ test unitari, e aggiornamento wiki/LOG per riflettere i nuovi dati e le nuove trappole.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/tools/senators.ts | Aggiunge provincia/nazione e deriva birth_region da birth_province per l’output Senato. |
| src/tools/deputies.ts | Decodifica lo slug del luogo Camera in campi separati e canonicalizza birth_region. |
| src/tools/deputies.birthplace.test.ts | Testa i 4 rami principali del parser dello slug Camera. |
| src/core/province-region.ts | Introduce lookup provincia→regione + canonicalizzazione regioni (norm + alias). |
| src/core/province-region.test.ts | Testa normalizzazione, risoluzione provincia→regione e canonicalizzazione regioni. |
| LOG.md | Aggiunge entry di changelog per la feature (da riallineare su numeri/dettagli: vedi commento). |
| docs/lod-wiki/index.md | Aggiorna l’indice wiki per riflettere la nuova realtà della geografia Senato + parsing Camera. |
| docs/lod-wiki/dati-anagrafici.md | Corregge la sezione anagrafica: predicati Senato e note operative su derivazione/canonicalizzazione. |
- deputies: strip eventuale query/fragment dall'ultimo segmento dell'URI luogo prima del parse, altrimenti la regione cadrebbe a "" (Greptile P2) - LOG: allinea la voce ai numeri reali (union 2010+2020+recente, 3 alias, 10 test unitari, 158 verdi) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
aborruso
added a commit
that referenced
this pull request
Jul 11, 2026
…grafia Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Chiude un assunto sbagliato (presente anche nel codice e nel wiki): il Senato non espone "solo la città" di nascita. Ri-verificato con
COUNTsu tutta la leg.19 (254 senatori):osr:cittaNascita254/254,osr:provinciaNascita250/254 (i 4 mancanti sono i nati all'estero),osr:nazioneNascita254/254 (Italiao stato estero). Issue #24 / #23.Cosa cambia
senators list: nuove colonnebirth_province,birth_country,birth_region.deputies list: la geografia alla Camera è solo uno slug nell'URI (comune_provincia_regione, non triple RDF) — ora decodificata inbirth_city/birth_province/birth_country/birth_region, con disambiguazione dello slug a 2 parti (Valle d'Aosta / Trentino-Alto Adigecomune_regionevs esterocomune_stato).src/core/province-region.ts(nuovo, bundle-safe per il Worker): mappa provincia→regione derivata da SITUAS/ISTAT report 64 via CLIopensituas. SITUAS è date-accurate: union degli snapshot 2010 + 2020 + più recente per coprire le province sarde soppresse/rinominate; +3 alias per le forme brevi che il Senato usa e SITUAS non ha (Aosta, Bolzano, "Monza e Brianza"). Copertura 100% (0 province Senato non risolte).Interoperabilità cross-camera
birth_regionè portata alla stessa forma canonica su entrambe le camere (verificato:Venetoidentico tra un deputato e un senatore).birth_city/birth_province/birth_countryrestano invece nella forma nativa di ciascuna fonte e possono differire per grafia/maiuscole (es. estero: SenatoArgentina, Cameraargentina): per aggregazioni cross-camera usarebirth_region. Documentato nel wiki.Verifiche
Italia; esteri → nazione+regione vuota.Nota sui dati a monte (per i gestori LOD, fuori da questa PR)
Emersa una asimmetria: il Senato espone la geografia strutturata (bene), la Camera solo come slug nell'URI. In entrambi i casi mancano i codici ISTAT dei luoghi (solo label). Annotato nelle note ai gestori Camera/Senato: esporre i codici renderebbe i join con le statistiche ufficiali robusti a grafia e cambi amministrativi.
🤖 Generated with Claude Code