CaosDB: Unterschied zwischen den Versionen
([Technisches] Absatz angelegt.) |
(Links hinzugefügt) |
||
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
CaosDB<ref>Fitschen, T.; Schlemmer, A.; Hornung, D.; tom Wörden, H.; Parlitz, U.; Luther, S. "CaosDB – Research Data Management for Complex, Changing, and Automated Research Workflows." ''Data'' '''2019''', ''4'', 83. https://doi.org/10.3390/data4020083</ref> (https://caosdb.org) ist ein freies Software-Toolkit zur Erstellung eines semantischen Datenmanagementsystems, entwickelt für die Verwaltung von wissenschaftlichen Forschungsdaten. Der Fokus von CaosDB liegt auf Umgebungen, in denen häufige Ergänzungen oder Änderungen des Datenmodells vonnöten sind, und daher traditionellere Datenverwaltungs-Systeme nicht in Frage kommen. | CaosDB<ref>Fitschen, T.; Schlemmer, A.; Hornung, D.; tom Wörden, H.; Parlitz, U.; Luther, S. "CaosDB – Research Data Management for Complex, Changing, and Automated Research Workflows." ''Data'' '''2019''', ''4'', 83. https://doi.org/10.3390/data4020083</ref> (https://caosdb.org) ist ein freies Software-Toolkit zur Erstellung eines semantischen Datenmanagementsystems, entwickelt für die Verwaltung von wissenschaftlichen Forschungsdaten. Der Fokus von CaosDB liegt auf Umgebungen, in denen häufige Ergänzungen oder Änderungen des Datenmodells vonnöten sind, und daher traditionellere Datenverwaltungs-Systeme nicht in Frage kommen. Ziel ist die möglichst vollständige Abbildung des Datenflusses von der Experimentplanung über Datenaufnahme und -analysen bis hin zu Publikationen. | ||
Sowohl das Datenmodell als auch die Daten selbst können von Hand mit einer Weboberfläche oder automatisiert über eine REST-XML-API eingepflegt und editiert werden. Für die API existiert eine umfangreiche Bibliothek in Python<ref>"CaosDB Python Client Library." ''Accessed 2020-02-17.'' https://gitlab.com/caosdb/caosdb-pylib</ref>, Client-Bibliotheken für weitere Sprachen wie Julia<ref>"CaosDB interface for Julia." ''Accessed 2020-02-17.'' https://github.com/JuliaDynamics/CaosDB.jl</ref> sind in Entwicklung. Ein Datei-Crawler<ref>"Tools for advanced interactions with the database." ''Accessed 2020-02-17.'' https://gitlab.com/caosdb/caosdb-advanced-user-tools</ref> erlaubt das regelmäßige Durchforsten von Dateisystemen und das automatisierte Anlegen von Datensätzen, wenn neue Dateien gefunden werden, für die entsprechende Regeln angelegt wurden. | Sowohl das Datenmodell als auch die Daten selbst können von Hand mit einer Weboberfläche oder automatisiert über eine REST-XML-API eingepflegt und editiert werden. Die Suchsprache<ref>"CaosDB Query Language." ''Accessed 2020-02-17.'' https://gitlab.com/caosdb/caosdb/-/wikis/manuals/CQL/CaosDB%20Query%20Language</ref> ist an SQL angelehnt und auf einfache Erlernbarkeit ausgerichtet. Für die API existiert eine umfangreiche Bibliothek in Python<ref>"CaosDB Python Client Library." ''Accessed 2020-02-17.'' https://gitlab.com/caosdb/caosdb-pylib</ref>, Client-Bibliotheken für weitere Sprachen wie Julia<ref>"CaosDB interface for Julia." ''Accessed 2020-02-17.'' https://github.com/JuliaDynamics/CaosDB.jl</ref>, C++<ref>"CaosDB cpplib." Accessed 2020-05-15. https://gitlab.com/caosdb/caosdb-cpplib</ref> und GNU R sind in Entwicklung. Ein Datei-Crawler<ref>"Tools for advanced interactions with the database." ''Accessed 2020-02-17.'' https://gitlab.com/caosdb/caosdb-advanced-user-tools</ref> erlaubt das regelmäßige Durchforsten von Dateisystemen und das automatisierte Anlegen von Datensätzen, wenn neue Dateien gefunden werden, für die entsprechende Regeln angelegt wurden. Der Crawler kann ohne Anpassungen Datei- und Ordnerstrukturen, die in einem einfachen standardisierten Layout<ref>Spreckelsen, F.; Rüchardt, B.; Lebert, J.; Luther, S.; Parlitz, U.; Schlemmer, A. Guidelines for a Standardized Filesystem Layout for Scientific Data. ''Data'' '''2020''', ''5'', 43. https://doi.org/10.3390/data5020043</ref> abgelegt werden, einfügen und verlinken. | ||
Für Testzwecke steht eine öffentlich zugängliche Demo-Instanz unter https://demo.indiscale.com zur Verfügung. Diese wird von der IndiScale GmbH betrieben und die Daten werden täglich zurückgesetzt. | Für Testzwecke steht eine öffentlich zugängliche Demo-Instanz unter https://demo.indiscale.com zur Verfügung. Diese wird von der IndiScale GmbH betrieben und die Daten werden täglich zurückgesetzt. | ||
=== Technisches === | ===Technisches & Details=== | ||
* CaosDB ist in Java geschrieben, als Backend wird momentan eine MySQL/MariaDB-Datenbank verwendet. | *CaosDB ist in Java geschrieben, als Backend wird momentan eine MySQL/MariaDB-Datenbank verwendet. | ||
* (Roh-)Dateien können entweder direkt auf dem CaosDB-Server abgelegt werden, oder es werden Referenzen auf Dateien in Netzlaufwerken verwaltet. In beiden Fällen stellen [[Checksumme|Prüfsummen]] die Datenintegrität sicher. | *(Roh-)Dateien können entweder direkt auf dem CaosDB-Server abgelegt werden, oder es werden Referenzen auf Dateien in Netzlaufwerken verwaltet. In beiden Fällen stellen [[Checksumme|Prüfsummen]] die Datenintegrität sicher. | ||
*Die Rechteverwaltung erlaubt feinmaschige Zugriffskontrolle für alle in CaosDB enthaltenen Entitäten auf Grundlage von Access Control Lists. | |||
*Die durch das Datenmodell vorgesehenen Eigenschaften von Objekten können fest vorgeschrieben, dringend empfohlen oder einfach nur vorgeschlagen sein. Diese Wichtigkeit wird beim Anlegen oder Ändern von Objekten durch Client und Server jeweils berücksichtigt. | |||
===Geschichte=== | ===Geschichte=== | ||
Zeile 15: | Zeile 17: | ||
*Die Software wurde 2018 unter der AGPLv3 veröffentlicht. Der Quellcode<ref>"CaosDB is a Free and Open-Source data management system toolkit." ''Accessed 2020-02-17.'' https://gitlab.com/caosdb</ref> und Dokumentation<ref>CaosDB-Wiki. ''Accessed 2020-02-17.'' https://gitlab.com/caosdb/caosdb/-/wikis/home</ref> sind seitdem auf Gitlab.com erreichbar. | *Die Software wurde 2018 unter der AGPLv3 veröffentlicht. Der Quellcode<ref>"CaosDB is a Free and Open-Source data management system toolkit." ''Accessed 2020-02-17.'' https://gitlab.com/caosdb</ref> und Dokumentation<ref>CaosDB-Wiki. ''Accessed 2020-02-17.'' https://gitlab.com/caosdb/caosdb/-/wikis/home</ref> sind seitdem auf Gitlab.com erreichbar. | ||
*Die [https://www.mpdl.mpg.de/ Max Planck Digital Library] fördert seit 2019 die Weiterentwicklung von CaosDB für zwei weitere Jahre.<ref>Alexander Schlemmer "CaosDB is funded by Max Planck Digital Library." ''Accessed 2020-02-17.'' https://www.bmp.ds.mpg.de/post/2019/mpdl/</ref> | *Die [https://www.mpdl.mpg.de/ Max Planck Digital Library] fördert seit 2019 die Weiterentwicklung von CaosDB für zwei weitere Jahre.<ref>Alexander Schlemmer "CaosDB is funded by Max Planck Digital Library." ''Accessed 2020-02-17.'' https://www.bmp.ds.mpg.de/post/2019/mpdl/</ref> | ||
=== Links === | |||
* Webseite: [https://www.caosdb.org www.caosdb.org] | |||
* Quellcode: [https://gitlab.com/caosdb gitlab.com/caosdb] | |||
* Dokumentation: [https://docs.indiscale.com docs.indiscale.com] | |||
* Demo: [https://demo.indiscale.com/ demo.indiscale.com] | |||
* Chat: [https://matrix.to/#/!unwwlTfOznjEnMMXxf:matrix.org #caosdb:matrix.org] | |||
===Literatur und Verweise=== | ===Literatur und Verweise=== |
Aktuelle Version vom 14. September 2022, 15:38 Uhr
CaosDB[1] (https://caosdb.org) ist ein freies Software-Toolkit zur Erstellung eines semantischen Datenmanagementsystems, entwickelt für die Verwaltung von wissenschaftlichen Forschungsdaten. Der Fokus von CaosDB liegt auf Umgebungen, in denen häufige Ergänzungen oder Änderungen des Datenmodells vonnöten sind, und daher traditionellere Datenverwaltungs-Systeme nicht in Frage kommen. Ziel ist die möglichst vollständige Abbildung des Datenflusses von der Experimentplanung über Datenaufnahme und -analysen bis hin zu Publikationen.
Sowohl das Datenmodell als auch die Daten selbst können von Hand mit einer Weboberfläche oder automatisiert über eine REST-XML-API eingepflegt und editiert werden. Die Suchsprache[2] ist an SQL angelehnt und auf einfache Erlernbarkeit ausgerichtet. Für die API existiert eine umfangreiche Bibliothek in Python[3], Client-Bibliotheken für weitere Sprachen wie Julia[4], C++[5] und GNU R sind in Entwicklung. Ein Datei-Crawler[6] erlaubt das regelmäßige Durchforsten von Dateisystemen und das automatisierte Anlegen von Datensätzen, wenn neue Dateien gefunden werden, für die entsprechende Regeln angelegt wurden. Der Crawler kann ohne Anpassungen Datei- und Ordnerstrukturen, die in einem einfachen standardisierten Layout[7] abgelegt werden, einfügen und verlinken.
Für Testzwecke steht eine öffentlich zugängliche Demo-Instanz unter https://demo.indiscale.com zur Verfügung. Diese wird von der IndiScale GmbH betrieben und die Daten werden täglich zurückgesetzt.
Technisches & Details
- CaosDB ist in Java geschrieben, als Backend wird momentan eine MySQL/MariaDB-Datenbank verwendet.
- (Roh-)Dateien können entweder direkt auf dem CaosDB-Server abgelegt werden, oder es werden Referenzen auf Dateien in Netzlaufwerken verwaltet. In beiden Fällen stellen Prüfsummen die Datenintegrität sicher.
- Die Rechteverwaltung erlaubt feinmaschige Zugriffskontrolle für alle in CaosDB enthaltenen Entitäten auf Grundlage von Access Control Lists.
- Die durch das Datenmodell vorgesehenen Eigenschaften von Objekten können fest vorgeschrieben, dringend empfohlen oder einfach nur vorgeschlagen sein. Diese Wichtigkeit wird beim Anlegen oder Ändern von Objekten durch Client und Server jeweils berücksichtigt.
Geschichte
- CaosDB wurde am MPI für Dynamik und Selbstorganisation in der Forschungsgruppe Biomedizinische Physik (BMPG) seit 2010 entwickelt.
- Die Software wurde 2018 unter der AGPLv3 veröffentlicht. Der Quellcode[8] und Dokumentation[9] sind seitdem auf Gitlab.com erreichbar.
- Die Max Planck Digital Library fördert seit 2019 die Weiterentwicklung von CaosDB für zwei weitere Jahre.[10]
Links
- Webseite: www.caosdb.org
- Quellcode: gitlab.com/caosdb
- Dokumentation: docs.indiscale.com
- Demo: demo.indiscale.com
- Chat: #caosdb:matrix.org
Literatur und Verweise
- ↑ Fitschen, T.; Schlemmer, A.; Hornung, D.; tom Wörden, H.; Parlitz, U.; Luther, S. "CaosDB – Research Data Management for Complex, Changing, and Automated Research Workflows." Data 2019, 4, 83. https://doi.org/10.3390/data4020083
- ↑ "CaosDB Query Language." Accessed 2020-02-17. https://gitlab.com/caosdb/caosdb/-/wikis/manuals/CQL/CaosDB%20Query%20Language
- ↑ "CaosDB Python Client Library." Accessed 2020-02-17. https://gitlab.com/caosdb/caosdb-pylib
- ↑ "CaosDB interface for Julia." Accessed 2020-02-17. https://github.com/JuliaDynamics/CaosDB.jl
- ↑ "CaosDB cpplib." Accessed 2020-05-15. https://gitlab.com/caosdb/caosdb-cpplib
- ↑ "Tools for advanced interactions with the database." Accessed 2020-02-17. https://gitlab.com/caosdb/caosdb-advanced-user-tools
- ↑ Spreckelsen, F.; Rüchardt, B.; Lebert, J.; Luther, S.; Parlitz, U.; Schlemmer, A. Guidelines for a Standardized Filesystem Layout for Scientific Data. Data 2020, 5, 43. https://doi.org/10.3390/data5020043
- ↑ "CaosDB is a Free and Open-Source data management system toolkit." Accessed 2020-02-17. https://gitlab.com/caosdb
- ↑ CaosDB-Wiki. Accessed 2020-02-17. https://gitlab.com/caosdb/caosdb/-/wikis/home
- ↑ Alexander Schlemmer "CaosDB is funded by Max Planck Digital Library." Accessed 2020-02-17. https://www.bmp.ds.mpg.de/post/2019/mpdl/