Come ho messo Costituzione e codici italiani in un knowledge graph

Risposta diretta: per Open·Parlamento ho ingerito la Costituzione italiana e sette codici (penale, civile, procedura civile, strada, consumo, assicurazioni private) in un knowledge graph, articolo per articolo — circa 6.445 articoli — ciascuno con un identificatore stabile ELI per le citazioni, e collegati da 86.672 relazioni di modifica autoritative estratte da Normattiva in formato Akoma Ntoso. Niente parafrasi: il testo è verbatim, le relazioni sono deterministiche (confidenza 1.0). Ecco come, con i numeri e i limiti onesti.
TL;DR
- Cosa: Costituzione (139 articoli) + 7 codici = ~6.445 articoli, testo integrale per-articolo.
- Come si cita: ogni articolo ha un ID ELI, es.
eli:/it/codice-penale/art/575, così una citazione risolve all'articolo esatto. - Relazioni: 86.672 archi (modifica, abroga, sostituisce, inserisce, converte, proroga) da Normattiva (Akoma Ntoso), confidenza 1.0,
created_by: normattiva. - Onestà: molte norme referenziate non sono ancora nel corpus — la chiusura del grafo sulle relazioni è ancora parziale.
Perché un grafo e non un PDF
Un codice è già un testo. Perché trasformarlo in un grafo? Perché le domande utili non sono «cosa dice l'articolo 575», ma «cosa è cambiato, chi l'ha cambiato, quale norma lo modifica». Queste risposte vivono nelle relazioni tra norme, non nel testo isolato. Un knowledge graph rende quelle relazioni di prima classe: nodi (gli articoli) e archi tipizzati (le modifiche) navigabili e citabili.
E soprattutto: un agente AI può rispondere in modo affidabile solo se ogni affermazione risolve a un articolo reale, non a una parafrasi inventata. Per questo il testo entra verbatim. Il grafo è la porta; il motore è l'asset interrogabile dietro di essa — ne parlo in perché il valore è l'asset, non la visualizzazione.
Cosa c'è dentro (i numeri)
| Fonte | Articoli | Note |
|---|---|---|
| Costituzione | 139 | testo integrale |
| Codice Penale | 734 | |
| Codice Civile | ~3.000 | il più grande |
| Codice di Procedura Civile | 831 | |
| Codice della Strada | 240 | |
| Codice del Consumo | 146 | |
| Codice delle Assicurazioni Private | 355 | |
| Totale | ~6.445 | per-articolo, con ELI |
Il metodo: per-articolo, con ELI
Ogni articolo diventa un documento autonomo nel grafo, con un'intestazione in prosa naturale che incorpora codice, numero d'articolo e identificatore ELI per il recupero delle citazioni. In pratica:
Codice Penale, Articolo 575 (identificativo ELI: eli:/it/codice-penale/art/575).
[testo verbatim dell'articolo]
L'ELI (European Legislation Identifier) è la chiave: è un ID stabile e standard che permette di citare l'articolo esatto e di collegarlo ad altre norme senza ambiguità. Una domanda sull'omicidio risolve, end-to-end, a «Articolo 575 del Codice Penale» — con il riferimento, non con una frase generica.
Le relazioni autoritative: 86.672 archi, zero invenzione
Il cuore del grafo non è indovinato da un LLM. Le relazioni tra norme sono estratte in modo deterministico da Normattiva, che pubblica i testi in Akoma Ntoso con i blocchi <activeModifications> (cosa questa norma modifica) e <passiveModifications> (chi modifica questa norma). Da lì ricaviamo archi tipizzati:
abroga— abrogazione (la maggioranza assoluta degli archi)modifica— modifica genericainserisce— inserimento di nuove disposizionisostituisce— sostituzione di testoconverte— conversione decreto→leggeproroga— proroga di termini
Ogni arco porta il testo-prova allegato, created_by: normattiva e confidenza 1.0. Sono fatti, non inferenze. Sopra questa base si possono aggiungere archi inferiti dall'AI (impatti su diritti e settori), ma sempre etichettati come tali e con confidenza visibile: onestà sulla provenienza prima di tutto.
I limiti, dichiarati
Un grafo onesto dichiara cosa non copre. Oggi:
- Le relazioni puntano spesso a norme referenziate ma non ancora presenti nel corpus: la chiusura del grafo sugli archi è ancora parziale. Stiamo ampliando il corpus per ridurre i nodi «sospesi».
- Il corpus copre Costituzione + codici principali; non tutta la legislazione vigente.
- Gli archi inferiti dall'AI sono complementari e dichiarati: la base autoritativa resta quella di Normattiva.
Dichiarare i limiti non è una debolezza: è la differenza tra uno strumento che cita la fonte e uno che finge di sapere tutto.
FAQ
Cos'è un identificatore ELI?
ELI (European Legislation Identifier) è uno standard europeo per dare a ogni norma — e a ogni articolo — un identificatore stabile e risolvibile. Permette di citare l'articolo esatto e di collegare norme tra loro senza ambiguità, anche tra ordinamenti diversi.
Le relazioni di modifica sono generate dall'AI?
No. Le relazioni autoritative (modifica, abroga, sostituisce…) sono estratte in modo deterministico dai metadati Akoma Ntoso di Normattiva, con confidenza 1.0. Eventuali relazioni inferite dall'AI sono separate, etichettate e con confidenza inferiore.
Quanti articoli ci sono nel grafo?
Circa 6.445 articoli: la Costituzione (139) più sette codici (penale, civile, procedura civile, strada, consumo, assicurazioni private), tutti ingeriti per-articolo con identificatore ELI.
Costruiamo knowledge graph che citano la fonte, non la sostituiscono. Vedi come funziona Open·Parlamento e i suoi open data, oppure scopri come si usano queste relazioni per individuare incongruenze e lacune in una legge. Vuoi qualcosa di simile? Parliamone.
Articoli correlati
- Chatbot e AI Act: cosa scatta davvero il 2 agosto 2026Dal 2 agosto 2026 l'articolo 50 dell'AI Act è applicabile: il tuo chatbot deve dichiarare di essere un'AI e i contenuti generati vanno marcati. Sanzioni fino a 15 milioni o il 3% del fatturato.
- Agentic commerce: quando a comprare da te è un agente AIChatGPT e Google hanno aperto il checkout dentro l'AI. Il tuo prossimo cliente potrebbe non vedere mai il tuo sito: conta solo se il tuo catalogo è leggibile da una macchina. Ecco cosa fare oggi.
- llms.txt non serve (quasi): i dati, e perché lo avevo consigliatoIl 97% dei siti con un llms.txt valido non ha ricevuto nemmeno una richiesta per quel file. Google dice che nessun sistema di ricerca lo legge. Ecco cosa fare al posto suo — e chi invece lo usa davvero.