Metadata API

The LEXIS Metadata API handles the creation of datasets in the LEXIS Platform DDI and maintains consistency between the actual dataset location and its metadata. For example, in the current implementation, the dataset creation works as follows:

  • Request for dataset creation is received

  • The metadata service creates an appropirate collection (folder) in the target iRODS zone

  • Assigns the supplied metadata (title, owner, creation time, etc.)

  • Pushes the metadata to the Elastic Search index

The consistency between the actual data location (iRODS) and metadata index (ElasticSearch) is maintained also for the modification, read and delete operations, thus following the CRUD principle known from the database domain. The metadata API does not handle the data transfer, this is handled by the Data API with different set of protocols.

Source code

The source code for the metadata API is available at: https://opencode.it4i.eu/lexis-platform/data/api.

Indexing

The LEXIS DDI stores the metadata of datasets in an ElasticSearch cluster, which is easily scalable and allows efficient listing and querying of complicated metadata schemes. It is used to provide fast response times for listing datasets and fulltext search capabilites of the API.

FAIR concept

To make the datasets in the LEXIS Platform FAIR, we enforce the users to use the DataCite standard, so that the metadata can be easily exported to 3rd party services such as B2FIND. The platform allows also access to the published datasets through a HTTPS protocol.

User-provided metadata

The following list is fields are enforced to be filled by the platform users. Metadata fields may be single value (such as title), or multi-valued (such as author).

Single-value fields are:

  • identifier

  • title

  • publicationYear

  • resourceType

  • resourceTypeGeneral

  • CustomMetadata

Multi-value fields are:

  • creator

  • publisher

  • owner

  • contributor

  • relatedIdentifier

  • rights

  • rightsURI

  • rightsIdentifier

  • AlternateIdentifier

  • CustomMetadataSchema