Skip to content

teamdigitale/dati-semantic-backend

Repository files navigation

License GitHub issues Join the #design channel Get invited Dati on forum.italia.it

Backend for the National Data Catalog (NDC) for Semantic Interoperability

This is the backend for the National Data Catalog (NDC) for Semantic Interoperability, a component of the PDND (Piattaforma Digitale Nazionale Dati) project.

PDND is composed of:

  • a system to streamline the signing of "interoperability agreements" between API producers and consumers, by standardizing the process and authenticating participants
  • a centralized API catalog, which enables the discovery and usage of eServices
  • a centralized system which enables controlled and authorized access by consumers to the APIs, along with logging of the operations
  • the National Data Catalog (NDC) for Semantic Interoperability, whose purpose is to store and index the semantic material (ontologies and controlled vocabularies) to be used as metadata with which to describe the APIs and the data they exchange

The backend is composed:

  • of databases in which the semantic material is stored, which can be queried with a SPARQL endpoint
  • of indexes which enable fast lookups of data and definitions
  • of a crawler which is responsible for exploring the repositories published by the different participants to the Catalog, downloading the semantic material and storing it into the databases and indexes

Index

How to start

Installing

Without docker

  • Install JDK 11 in your machine
  • Run mkdir .git/hooks
  • Build service using ./gradlew clean build
  • Start service using ./gradlew clean bootRun
  • Run tests using ./gradlew clean test

With Docker

  • Run service using docker-compose up - this starts the service and its dependencies

Documentation

Wiki

How to contribute

Community

Code of conduct

Please review our Code of Conduct to ensure a great collaboration with the rest of the community.

Responsible Disclosure

Segnalazione bug e richieste di aiuto

Maintenance

License

This work is licensed under the GNU Affero General Public License (AGPL), version 3 or later. You can find a copy of the license in the LICENSE file