Descripción
Semantic Italia transforms content published with the official WordPress themes of the Italian Department for Digital Transformation — Design Comuni Italia (DCI) and Design Scuole Italia (DSI) — into structured data in JSON-LD format, aligned with the ontologies of the schema.gov.it catalog.
The generated graphs conform to the Italian Public Administration semantic framework: every entity (service, place, event, public official, document, organizational unit) is represented using standardized classes and properties, enabling interoperability with other systems and publication as Linked Open Data.
Main Features
- JSON-LD export via REST API (
/wp-json/comuni/v1/graph,/wp-json/scuole/v1/graph) - Automatic detection of the active domain (DCI / DSI / both)
- Official IPA identifier (
urn:x-italian-pa:code) for thecov:PublicOrganizationnode - Two-level precomputed cache (WP transient + WP option) with asynchronous rebuild via WP-Cron
- Built-in protection against excessive requests (per-IP and global rate limiting)
- Admin page with cache status panel and editable IPA code field
REST Endpoints
DCI (Municipalities)
GET /wp-json/comuni/v1/graph— Full graphGET /wp-json/comuni/v1/graph/persona-pubblicaGET /wp-json/comuni/v1/graph/luoghiGET /wp-json/comuni/v1/graph/serviziGET /wp-json/comuni/v1/graph/unita-organizzativeGET /wp-json/comuni/v1/graph/eventiGET /wp-json/comuni/v1/graph/dataset
DSI (Schools)
GET /wp-json/scuole/v1/graph— Full graphGET /wp-json/scuole/v1/graph/luoghiGET /wp-json/scuole/v1/graph/serviziGET /wp-json/scuole/v1/graph/eventiGET /wp-json/scuole/v1/graph/documentiGET /wp-json/scuole/v1/graph/strutture
Ontologies Used
All classes and properties are aligned with the schema.gov.it catalog:
cpv:, cov:, cpsv:, cpev:, poi:, clv:, dcatapit:, dct:, l0:, foaf:, proj:, ti:
Requirements
This plugin requires one of the following official WordPress themes:
Instalación
- Upload the
semantic-italiafolder to the/wp-content/plugins/directory - Activate the plugin from the WordPress Plugins page
- Upon activation, the plugin automatically detects the active domain (DCI/DSI) and the IPA code
- Go to Settings Semantic Italia to verify the configuration
FAQ
-
Does the plugin work without the official themes?
-
No. The plugin reads the
_dci_*(Design Comuni Italia) and_dsi_*(Design Scuole Italia) meta fields registered by the official themes. Without an active theme the endpoints will return an empty graph. -
How is the IPA code determined?
-
Upon activation, the plugin matches the
home_url()domain against the IPA index included indata/ipa-index.json. If the domain is found, the code is saved and used as the@idof thecov:PublicOrganizationnode in the formaturn:x-italian-pa:code. If not found automatically, it can be entered manually from the administration page. -
How do I update the IPA code?
-
Go to Settings Semantic Italia and edit the IPA Code field. Saving automatically clears the cache.
-
How does the cache work?
-
The plugin precomputes JSON-LD graphs and stores them on two levels: a WordPress transient (expires after 1 hour, configurable) and a WP option (persistent). Rebuild happens automatically in the background via WP-Cron when content is modified, without slowing down post saves.
-
How do I configure rate limiting?
-
Parameters are configurable via WordPress filters in the theme’s
functions.php:add_filter( 'desiitse_rl_max_requests', fn() => 30 ); add_filter( 'desiitse_rl_window_seconds', fn() => 60 ); add_filter( 'desiitse_rl_global_rps', fn() => 50 );
Reseñas
No hay reseñas para este plugin.
Colaboradores y desarrolladores
"Semantic Italia" es un software de código abierto. Las siguientes personas han colaborado con este plugin.
ColaboradoresTraduce "Semantic Italia" a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
1.0.0
- Initial public release
