Data Storage - piveau-hub#
Introduction#
Hub is the central (meta) data management component of piveau. It employs a triplestore as primary database and offers first-class support for DCAT-AP.
Features:
- DCAT-AP RESTful API
- URI management
- Access control with Keycloack
- Controlled vocabulary integration
- Single-Page-Application Frontend
Technology:
- Vert.x Java Framework
- Apache Jena
- Elasticsearch (ES)
- Virtuoso Triplestore
- Vue.js
Demos:
Troubleshoot#
piveau-hub-search#
strict_dynamic_mapping_exception while indexing#
If you use a custom ES mapping and get a [es/index] failed: [strict_dynamic_mapping_exception] error while indexing a resource, double-check your ES mapping to ensure all fields you want to index are explicitly defined. With "dynamic": "strict" mapping, ES rejects documents containing unknown fields.
Assuming you run ES locally with port 9200, you can inspect the fields by checking:
Error example:
[es/index] failed: [strict_dynamic_mapping_exception] [1:4582] mapping set to strict, dynamic introduction of [sample_field_name] within [_doc] is not allowed
F.A.Q.#
Questions and Answers:
-
Is there no validation during data submission via the API?
Currently, there is no validation of mandatory fields during data submission via the API. -
Is there a way to patch records via the API instead of submitting the entire dataset for updates?
Handling updates in the RDF world is complex. It is often unclear whether a property should be replaced or added, especially for properties that can accept multiple values. This ambiguity makes straightforward patching challenging. -
How can we trigger re-indexing in the search engine?
To trigger re-indexing of the entire repository or a specific dataset, you can use a command in the Hub-Repo CLI. For example, you can execute the commandindex -v my-catalogueto re-index one or more catalogs.