HEIMDALL

HEIMDALL is a tool for converting more easily one or more databases from one format to another.

It makes a technical no-brainer migration and interoperability between SQL databases (MariaDB, MySQL), REST APIs, and general-purpose exchange formats such as CSV (used for example by spreadsheets or Omeka) or XML.

Use cases

If, for example, you find yourself in one of the following situations…

  • you need access to data, but it is not stored in a format compatible with your favorite software…

  • you’d prefer to merge several heterogeneous databases into a single corpus, easier to analyze…

  • you’re considering which input format to use for your software or database…

  • you want to make your data more accessible and interoperable…

… then HEIMDALL can offer you an exchange format, and abstract the details of data implementation: yours, but also those of others. Thanks to HEIMDALL, you can also switch from one technology to another in a matter of moments, as and when you need to, without ever losing, disorganizing or corrupting your data –or even by improving them over time, documenting them and linking them to current standards in your field.

In a nutshell, HEIMDALL is your High-End Interoperability Module when Data is ALL over the place. It’s a bridge between scattered islands of data. ⚔️🌉🌈

In practice

HEIMDALL implements the HERA schema. Each of these implementations, named connectors, allows importing/exporting from/to a specific format. All together, these connectors make interoperability between multiple systems easier (thanks to utility functions supported by a common vocabulary) and more durable (thanks to modular architecture and resilient project management).

There are two versions of HEIMDALL :

These two versions are as compatible as possible, but their functional scope can differ. In short, xHeimdall is the historical version, kinda confidential but seemingly sufficient for XQuery-related needs. On the other hand, pyHeimdall is more modern and offers a much wider range of features, as well as more connectors.
For more details, see the sections of this documentation dedicated to each version.