Skip to content
Snippets Groups Projects
Select Git revision
  • 35e690746a63cd0194f4a6720225d5956f339963
  • master default protected
  • dev protected
  • release-1.12 protected
  • 570-generate-java-docs-automatically
  • release-1.11 protected
  • replication_test_two
  • luca_ba_new_interface
  • replication_test
  • release-1.10 protected
  • 533-integrate-semantic-recommendation-2
  • 556-usage-statistics
  • 553-semantic-recommendation-2
  • 553-semantic-recommendation
  • release-1.9 protected
  • 551-init-broker-service-permissions
  • 549-test-oai-pmh
  • 545-saving-multiple-times-breaks-pid-metadata
  • 499-standalone-compute-service-2
  • 539-load-tests
  • hotfix/helm-chart
  • v1.12.0 protected
  • v1.11.0 protected
  • v1.10.5 protected
  • v1.10.4 protected
  • v1.10.3 protected
  • v1.10.2 protected
  • v1.10.1 protected
  • v1.10.0-rc13 protected
  • v1.10.0-rc12 protected
  • v1.10.0-rc11 protected
  • v1.10.0-rc10 protected
  • v1.10.0-rc9 protected
  • v1.10.0-rc8 protected
  • v1.10.0-rc7 protected
  • v1.10.0-rc6 protected
  • v1.10.0-rc5 protected
  • v1.10.0-rc4 protected
  • v1.10.0-rc3 protected
  • v1.10.0-rc2 protected
  • v1.10.0rc1 protected
41 results

metadata-service.md

Blame
  • Martin Weise's avatar
    Martin Weise authored
    35e69074
    History
    metadata-service.md 3.35 KiB
    author: Martin Weise

    tl;dr

    !!! debug "Debug Information"

    Image: [`registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.4.5`](https://hub.docker.com/r/dbrepo/metadata-service)
    
    * Ports: 9099/tcp
    * Info: `http://<hostname>:9099/actuator/info`
    * Health: `http://<hostname>:9099/actuator/health`
        - Readiness: `http://<hostname>:9099/actuator/health/readiness`
        - Liveness: `http://<hostname>:9099/actuator/health/liveness`
    * Prometheus: `http://<hostname>:9099/actuator/prometheus`
    * Swagger UI: `http://<hostname>:9099/swagger-ui/index.html`

    Overview

    The metadata service manages metadata of identities, the Broker Service (i.e. obtaining queue types), semantic concepts (i.e. ontologies) and relational metadata (databases, tables, queries, views) and identifiers.

    Generation

    Most of the metadata available in DBRepo is generated automatically, leveraging the available information and taking the burden away from researchers, data stewards, etc. For example, the schema (names, constraints, data length) of generated tables and views is obtained from the information_schema database maintained by MariaDB internally.

    Identifiers

    The service is responsible for creating and resolving a persistent identifier (PID) attached to a database, subset, table or view to obtain the metadata attached to it and allow reproduction of the exact same result.

    This service also provides an OAI-PMH endpoint for metadata aggregators (e.g. OpenAIRE Graph). Through the User Interface, it also exposes metadata through JSON-LD to metadata aggregators (e.g. Google Datasets). PID metadata is always exposed, even for private databases.

    The service generates internal PIDs, essentially representing internal URIs in the DataCite Metadata Schema 4.4. This can be enhanced with activating the external DataCite Fabrica system to generate DOIs, this is disabled by default.

    To activate DOI minting, pass your DataCite Fabrica credentials in the environment variables:

    services:
      dbrepo-metadata-service:
        image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.4.5
        environment:
          spring_profiles_active: doi
          DATACITE_URL: https://api.datacite.org
          DATACITE_PREFIX: 10.12345
          DATACITE_USERNAME: username
          DATACITE_PASSWORD: password
      ...

    Semantics

    The service provides metadata to the table columns in the Metadata Database fromregistered ontologies like Wikidata wd:, Ontology of Units of Measurement om2:, Friend of a Friend foaf:, the prov: namespace, etc.

    Limitations

    • No support for other databases than MariaDB because of system-versioning capabilities missing in other database engines.

    !!! question "Do you miss functionality? Do these limitations affect you?"

    We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
    in [contact](../../contact) with us, we happily answer requests for collaboration with attached CV and your programming 
    experience!

    Security

    (none)