hub-repo acts as a middleware and abstraction layer to interact with the Triplestore. It offers a RESTful interface, supporting the major RDF serializations (Turtle, JSON-LD, N-Triples, RDF/XML, Notation3). Its resources reflect the main DCAT entities: catalog, dataset, and distribution. The main task is to process and harmonize DCAT-AP data. This includes the application of consistent and meaningful URI schemata, the generation of unique IDs, and the mapping to linked, existing entities. It ensures the integrity and traceability of the data in the Triplestore.
The search service is responsible for encapsulating the communication between hub-repo and search engine (Elasticsearch) for indexing and the frontend and search engine (Elasticsearch) for searching. The main functionality is searching indexed datasets, catalogues and vocabularies which follow DCAT-AP.
The search service manages CRUD endpoints for resources in a RESTful manner. Most use cases recommend the search service to run alongside the registry. Then, the registry converts RDF to JSON and feeds the search service. Normally, write endpoints of the search service are only used by other piveau services. The whole process enables full-text search for stored RDF data and thus makes the data more visible compared to SPARQL.
The search service provides endpoints for searching. Several query parameters are provided to narrow the search result. The search services highly makes use of facets. These are used for aggregation and accurate filtering.
In addition to indexing and searching, the search service offers other functions:
- A datasets ATOM and RSS feed API which can be used for subscription based on a search query.
- A dataset RSS feed API which can be used for subscription for dataset revisions (up to seven days)
- A gazetteer API which communicates with a geographical index, allowing autocomplete and returning a bounding box
- A CKAN legacy API (deprecated) which allows use search queries in CKAN format
The datastore is a light-weight service for storing and retrieving binary files.
The UI is the major interface for browsing the available data.