some default

Christian Mönch 96850a711f NF: improve package definition 3 years ago
dataladmetadatamodel 9a5a6ad323 NF: add disconnected object caching 3 years ago
tools 7d7b379a81 RF: improve module and variable names 3 years ago
.gitignore 6429186ba8 NF: add DatasetTree and its mapper 3 years ago
LICENSE 47efdc66f7 Initial commit 3 years ago
README.md 6dc50bf97f Update README.md 3 years ago
pyproject.toml 96850a711f NF: improve package definition 3 years ago
requirements.txt f94308451a RF: list requirements in requirements.txt 3 years ago
setup.py 96850a711f NF: improve package definition 3 years ago

README.md

Datalad Metadata Model

This repository contains the metadata model that datalad and datalad-metalad (will) use for their metadata.

The model is separated into individual components that can be independently loaded and saved in order to have a focus-based view on the potentially very large metadata model instance (an application of the "proxy design pattern").

The implementation is devided into a user facing API-layer and a storage layer. Both are independent from each other (as long as the model does not change). The API layer defines an abstract data type, which represents the metadata model. The storage layer is responsible for persisting the model instance.

The two layers communicate through a defined interface. This allows for the use of multiple different storage layers with the same model instance. This can be even done in parallel, for example, if you want to copy a model from one storage layer to another storage layer. It also allows for the independent development of storage backends