Dati open nelle tue app

Reactive include un servizio dati open con 240 dataset pubblici italiani: vocabolari ufficiali, legislazione statale, prezzi dei carburanti, gare pubbliche, popolazione e confini per comune, anagrafica delle Pubbliche Amministrazioni. Ogni app li interroga con tre direttive; qui sotto li esplori dal vivo, in sola lettura — nessun dato dell'utente lascia il dispositivo.

La mappa dei confini

Coropletica dal vivo sui confini ISTAT: scegli il livello e la metrica, la mappa si disegna interrogando il servizio. Passa il mouse per il valore, clicca una regione per scendere ai suoi comuni.

clicca una regione per i suoi comuni

Le relazioni tra le tabelle

Come si collegano i dati: ogni tabella di fatti è agganciata alle altre da una chiave condivisa — il codice ISTAT del comune, il codice fiscale dell’ente, l’id dell’impianto. Cerca un nodo, clicca per metterlo a fuoco e isolarne il vicinato, spegni le chiavi che non ti interessano; il doppio clic apre la scheda nel catalogo.

chiave di jointabella

I nodi arrotondati sono le chiavi di join; i rettangoli le tabelle (solo quelle collegate). Clic su un nodo = a fuoco il suo vicinato; doppio clic su una tabella = la sua scheda nel catalogo; le chips sopra spengono e accendono le chiavi. Trascina per spostarti, rotella per lo zoom.

Il catalogo

Ogni tabella del warehouse, dal vivo: descrizione, colonne, anteprima delle righe e uno snippet ::od-query pronto da incollare in un’app.

Interroga i dati

Una SELECT in sola lettura sul servizio. Nessun dato tuo lascia il dispositivo; il risultato è una tabella, e con un clic diventa una direttiva ::od-query.

Come interrogarlo dalle tue app

Tutto quello che vedi qui sopra lo fanno tre direttive, dentro qualunque app Reactive:

  • ::od-query{into="rows" sql="SELECT …"} — una SELECT sul servizio, le righe finiscono in una collezione (tabelle, grafici, mappe, Python). I {#chiave} nell'SQL sono parametri reattivi: la query si riesegue quando cambiano.
  • ::od-search — ricerca semantica del catalogo; con table="lex_atti", table="anac_cig" o table="corte_costituzionale" cerca tra le righe (norme, gare, sentenze della Consulta), con una query pronta da copiare. Nel catalogo qui sopra le tre tabelle sono contrassegnate dal badge ✦ Ricerca semantica.
  • ::od-datasets{into} — l'elenco del catalogo in una collezione.
::od-search{}

::od-query{into="comuni" sql="SELECT LABEL_COMUNE_IT AS nome, SIGLA_AUTOMOBILISTICA AS sigla
  FROM voc_istat_cities
  WHERE CODICE_PROVINCIA = '015' AND DATA_FINE_VALIDITA = '31-12-9999'"}

:::table{path="comuni"}
| {nome} | {sigla} |
:::

Il servizio espone GET /datasets (il catalogo), POST /query (una sola SELECT, LIMIT forzato a 10000, timeout 10s) e POST /search (ricerca semantica). La geometria dei confini è servita come GeoJSON [lon, lat] nella colonna geojson, pronta per Leaflet e per la direttiva :::map (congeojson= e fill= disegna una coropletica). L'ultima risposta buona resta in cache nel browser: l'app è consultabile anche offline. E l'assistente AI conosce il catalogo — chiedigli «una mappa della densità di popolazione per comune» e la query la scrive lui.