Generating CodeMeta using declarative mapping rules: An open-ended approach using ShExML
GarcÃa-González
Nowadays, software is one of the cornerstones when conducting research in several scientific fields which employ computer-based methodologies to answer new research questions. However, for these experiments to be completely reproducible, research software should comply with the FAIR principles, yet its metadata can be represented following different data models and spread across different locations. In order to bring some cohesion to the field, CodeMeta was proposed as a vocabulary to represent research software metadata in a unified and standardised manner. While existing tools can help users to generate CodeMeta files for some specific use cases, they fall short on flexibility and adaptability. Hence, in this work, I propose the use of declarative mapping rules to generate CodeMeta files, illustrated through the implementation of three crosswalks in ShExML which are then expanded and merged to cover the generation of CodeMeta files for two existing research software artefacts. Moreover, the outputs are validated using SHACL and ShEx and the whole generation workflow is automated requiring minimal user intervention upon a new version release. This work can, therefore, be used as an example upon which other developers can include a CodeMeta generation workflow in their repositories, facilitating the adoption of CodeMeta and, ultimately, increasing research software FAIRness.
academic
CodeMeta-Generierung mittels deklarativer Zuordnungsregeln: Ein offener Ansatz mit ShExML
Heutzutage ist Software eine der Grundlagen der Forschung in mehreren wissenschaftlichen Bereichen, die computergestützte Methoden zur Beantwortung neuer Forschungsfragen einsetzen. Um diese Experimente vollständig reproduzierbar zu machen, sollte Forschungssoftware jedoch den FAIR-Prinzipien entsprechen. Allerdings können ihre Metadaten verschiedenen Datenmodellen folgen und sind an verschiedenen Orten verteilt. Um dem Bereich eine gewisse Kohäsion zu bringen, wurde CodeMeta als Vokabular vorgeschlagen, um Forschungssoftware-Metadaten auf einheitliche und standardisierte Weise darzustellen. Obwohl vorhandene Werkzeuge Benutzern helfen können, CodeMeta-Dateien für bestimmte Anwendungsfälle zu generieren, weisen sie Mängel in Bezug auf Flexibilität und Anpassungsfähigkeit auf. Daher schlägt dieser Artikel die Verwendung deklarativer Zuordnungsregeln zur Generierung von CodeMeta-Dateien vor, veranschaulicht durch die Implementierung von drei bereichsübergreifenden Zuordnungen in ShExML, und erweitert und kombiniert diese Zuordnungen dann, um die CodeMeta-Dateigenerierung für zwei vorhandene Forschungssoftware-Artefakte abzudecken. Darüber hinaus wird die Ausgabe mit SHACL und ShEx validiert, der gesamte Generierungsworkflow automatisiert und erfordert bei neuen Versionsveröffentlichungen nur minimale Benutzereingriffe.
FAIR-Compliance-Problem bei Forschungssoftware: Obwohl Forschungssoftware ein wichtiger Träger der wissenschaftlichen Forschung ist, sind ihre Metadaten auf verschiedenen Plattformen (GitHub, Zenodo, Maven usw.) verteilt, verwenden verschiedene Datenmodelle und mangelt es an Einheitlichkeit.
Einschränkungen vorhandener Werkzeuge:
Die meisten Werkzeuge unterstützen nur Eins-zu-Eins-Konvertierungen (einzelne Metadatenquelle zu CodeMeta)
Mangel an Flexibilität und Anpassungsfähigkeit
Erfordern manuelle Benutzereingriffe zur Datenbeschaffung
Unzureichende Automatisierungsfähigkeiten
Hindernisse für die CodeMeta-Adoption: Obwohl CodeMeta einen einheitlichen Standard für die Darstellung von Forschungssoftware-Metadaten bietet, behindern die Einschränkungen vorhandener Werkzeuge seine breite Annahme.
Förderung der offenen Wissenschaft: Forschungssoftware, die den FAIR-Prinzipien entspricht, ist entscheidend für die Verwirklichung offener Wissenschaft
Gewährleistung der Reproduzierbarkeit: Einheitliche Metadatenstandards tragen zur Reproduzierbarkeit von Forschungsergebnissen bei
Plattformübergreifende Interoperabilität: Lösung des Problems der Metadatenformatinkompatibilität zwischen verschiedenen Plattformen
Vorschlag einer deklarativen Zuordnungsregelmethode: Verwendung der ShExML-Sprache zur Erstellung flexibler, wartbarer CodeMeta-Generierungsregeln
Implementierung von drei Schlüssel-Querverweis-Zuordnungen: Entwicklung vollständiger ShExML-Zuordnungsimplementierungen für GitHub-, Maven- und Zenodo-Plattformen
Aufbau eines einheitlichen Zuordnungsrahmens: Demonstration, wie mehrere heterogene Metadatenquellen zusammengeführt werden, um eine einzelne CodeMeta-Datei zu generieren
Entwicklung eines vollständig automatisierten Workflows: Einschließlich JSON-LD-Rahmung, SHACL/ShEx-Validierung und GitHub Actions-Integration
Bereitstellung praktischer Anwendungsfälle: Erfolgreiche Bereitstellung in der ShExML-Engine und DMAOG zwei Open-Source-Projekten
Eingabe: Daten von mehreren heterogenen Metadatenanbietern (GitHub API, Maven POM-Dateien, Zenodo-Datensätze usw.)
Ausgabe: Standardisierte JSON-LD-Datei, die der CodeMeta 3.0-Spezifikation entspricht
Einschränkungen: Beibehaltung der Datensemantik, Unterstützung automatisierter Updates, Gewährleistung der Ausgabevalidierung
Intelligente Quellenauswahl: Wenn mehrere Quellen dasselbe Attribut enthalten, wird die beste Quelle basierend auf semantischer Relevanz und Wartungsfreundlichkeit ausgewählt
Ergänzung durch hartcodierte Werte: Für Daten, die nicht aus externen Quellen abgerufen werden können, ist eine direkte Definition in der Zuordnungsdatei zulässig
Datentransformationsfunktionen: Behandlung von Datumsformatkonvertierungen, URL-Normalisierung und anderen Datenbereinigungsaufgaben
Mehrquellen-Datenfusion: Im Gegensatz zu vorhandenen Werkzeugen mit Eins-zu-Eins-Konvertierung unterstützt flexible Zusammenführung einer beliebigen Anzahl heterogener Quellen
Deklarative Regeln: Im Vergleich zu programmatischen Ansätzen bietet bessere Lesbarkeit, Wartbarkeit und Teilbarkeit
Feinkörnige Kontrolle: Ermöglicht präzise Zuordnungskontrolle auf Attributebene statt einfacher Prioritätsübersteuerung
Automatisierte Integration: Vollständige CI/CD-Workflow-Integration mit Unterstützung für automatische Updates bei Versionsverlauf
Das Papier enthält 37 Literaturverweise, die wichtige Arbeiten in verwandten Bereichen wie FAIR-Prinzipien, Semantic-Web-Technologie, CodeMeta-Spezifikation und deklarative Zuordnungssprachen abdecken und eine solide theoretische Grundlage und technische Unterstützung für die Forschung bieten.
Gesamtbewertung: Dies ist ein technisches Papier mit praktischem Wert im Bereich der Forschungssoftware-Metadatenverwaltung. Die vorgeschlagene deklarative Zuordnungsmethode ist innovativ, die Implementierung ist vollständig und reproduzierbar, und sie hat positive Bedeutung für die Förderung der CodeMeta-Standard-Adoption. Obwohl es noch Raum für Verbesserungen in Bewertungsumfang und -tiefe gibt, bietet es einen wertvollen technischen Beitrag zum Bereich.