KIT | KIT-Bibliothek | Impressum | Datenschutz

ro-crate-java v2.1.0-rc2

Tzochev, Nikola; Pfeil, Andreas ORCID iD icon 1; Chelbi, Sabrine ORCID iD icon 1
1 Scientific Computing Center (SCC), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

Research-Object-Crate is a flexible research data package format. It allows you to package or link to data and describe it in a machine-readable and human-readable way. It uses Linked Data (JSON-LD) to describe its content. The combination of a file-based package and a possibility to link to data on the Web makes the format useful for a number of use-cases.

Software libraries enable developers and users to create and modify such crates. They have the potential to enable valid crates without knowing the specification perfectly, and can be used to build this functionality into other applications.

Ro-crate-java is such a software library, written in the Java programming language. It has similar functionality as the existing implementations (ro-crate-py, ro-crate-ruby), which are implemented by the RO-Crate project. In contrast to those implementations, ro-crate-java has a strong focus on the correctness of the crates according to the specification, as well as performance. This means that ro-crate-java is especially well suited to create large crates, or large amounts of them. It can therefore, for example, be used to create crates for data in large repositories which are not packaged yet.


Download
Originalveröffentlichung
DOI: 10.5281/zenodo.15488540
Zugehörige Institution(en) am KIT Scientific Computing Center (SCC)
Publikationstyp Forschungsdaten
Publikationsdatum 22.05.2025
Erstellungsdatum 29.04.2025 - 22.05.2025
Identifikator KITopen-ID: 1000188204
HGF-Programm 46.21.05 (POF IV, LK 01) HMC
Lizenz Apache License 2.0
Externe Relationen Supplement
Forschungsdaten/Software
Schlagwörter Research Object Crate, data packaging, metadata, research data, software library, java, Helmholtz Metadata Collaboration Platform (HMC)
Liesmich

Please also read the README.md file in the source code.

Highlights 🚀

While we avoid breaking the API except for major versions, you may notice that you may need to do some little changes this time. This is because of fixes which inherently required this. But the fix on your side should be easy. In most cases you'll need to catch a possible exception when reading or writing crates and it should work again. Please tell us soon if something does not work for you!

  • Support .ELN-style crates in all zip readers and writers by @Pfeil in https://github.com/kit-data-manager/ro-crate-java/pull/258
    • 📓We now support zip files which contain the crate not directly, but have a subfolder instead. This is one of the properties of the .ELN specification.
    • 🤐 Our Zip (and ZipStream) reader will search for this implicitly, so nothing has to be changed from your side to make it work. For readers, we think this makes reading simply more reliable. Note that we do not search the whole zip file for a crate but just in the first hierarchy of subfolders. We expect only one subfolder, but to work with edge cases, ro-crate-java will consider a few more. This works around hidden thumbnail folders and other unexpected properties.
    • ✍🏼 Our Zip (and ZipStream) writer strategies have according configuration methods to make them create such files: usingElnStyle() and withRootSubdirectory() do the exact same thing, just with different naming. Some may search for ELN functionality, others just want a subfolder. For ro-crate-java this is currently the same thing.
  • Make specification examples (from readme) executable by @Pfeil in https://github.com/kit-data-manager/ro-crate-java/pull/256
    • 📄✅ Some of the examples in our guide did not work properly any more. To avoid this in future, we moved them to unit tests, where they are executable and tested. The readme now points to these examples.
  • 🔧 Note, we also fixed a few bugs (see below). See if you are affected and consider updating to the release candidate to validate the fixes! 💛

Other

Full Changelog: https://github.com/kit-data-manager/ro-crate-java/compare/v2.1.0-rc1...v2.1.0-rc2

Art der Forschungsdaten Software
Nachgewiesen in OpenAlex
Relationen in KITopen
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page