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 с использованием декларативных правил отображения: открытый подход с использованием ShExML
В настоящее время программное обеспечение является одной из основ исследований во многих научных областях, использующих компьютерные методы для решения новых исследовательских задач. Однако для обеспечения полной воспроизводимости экспериментов исследовательское программное обеспечение должно соответствовать принципам FAIR, хотя его метаданные могут следовать различным моделям данных и быть разбросаны по разным местоположениям. Для обеспечения согласованности в этой области был предложен CodeMeta в качестве словаря для унифицированного и стандартизированного представления метаданных исследовательского программного обеспечения. Хотя существующие инструменты могут помочь пользователям генерировать файлы CodeMeta для определённых вариантов использования, они недостаточны с точки зрения гибкости и адаптивности. Таким образом, в данной статье предлагается использование декларативных правил отображения для генерирования файлов CodeMeta путём реализации трёх кросс-отображений в ShExML, а затем расширения и объединения этих отображений для охвата генерирования файлов CodeMeta двух существующих артефактов исследовательского программного обеспечения. Кроме того, выходные данные проверяются с использованием SHACL и ShEx, весь процесс генерирования автоматизирован, требуя минимального вмешательства пользователя при выпуске новых версий.
Проблема соответствия исследовательского ПО принципам FAIR: Хотя исследовательское программное обеспечение является важной поддержкой научных исследований, его метаданные разбросаны по различным платформам (GitHub, Zenodo, Maven и т.д.), используют различные модели данных и лишены единообразия.
Ограничения существующих инструментов:
Большинство инструментов поддерживают только преобразование один-к-одному (единственный источник метаданных в CodeMeta)
Недостаток гибкости и адаптивности
Требуют ручного вмешательства пользователя для согласования данных
Недостаточная автоматизация
Препятствия для принятия CodeMeta: Хотя CodeMeta предоставляет унифицированный стандарт представления метаданных исследовательского программного обеспечения, ограничения существующих инструментов препятствуют его широкому распространению.
Предложение метода декларативных правил отображения: Использование языка ShExML для создания гибких и поддерживаемых правил генерирования CodeMeta
Реализация трёх ключевых кросс-отображений: Разработка полной реализации ShExML-отображений для платформ GitHub, Maven и Zenodo
Построение унифицированной структуры отображения: Демонстрация способа объединения нескольких гетерогенных источников метаданных для генерирования единого файла CodeMeta
Разработка полностью автоматизированного рабочего процесса: Включая фреймирование JSON-LD, проверку SHACL/ShEx и интеграцию GitHub Actions
Предоставление практических примеров применения: Успешное развёртывание на двух проектах с открытым исходным кодом: ShExML Engine и DMAOG
Входные данные: Данные из нескольких гетерогенных поставщиков метаданных (GitHub API, файлы Maven POM, записи Zenodo и т.д.)
Выходные данные: Стандартизированный файл JSON-LD, соответствующий спецификации CodeMeta 3.0
Ограничения: Сохранение семантической целостности данных, поддержка автоматизированных обновлений, обеспечение прохождения проверки выходных данных
Интеллектуальный выбор источника: При наличии одного и того же атрибута в нескольких источниках выбор оптимального источника на основе семантической релевантности и удобства обслуживания
Дополнение жёстко закодированными значениями: Для данных, которые невозможно получить из внешних источников, допускается прямое определение в файле отображения
Функции преобразования данных: Обработка преобразования формата даты, нормализации URL и других задач очистки данных
Слияние данных из нескольких источников: В отличие от существующих инструментов с преобразованием один-к-одному, поддержка гибкого объединения произвольного количества гетерогенных источников
Декларативные правила: По сравнению с программным подходом обеспечение лучшей читаемости, поддерживаемости и возможности совместного использования
Детальное управление: Позволяет точное управление отображением на уровне атрибутов, а не простое переопределение приоритетов
Интеграция автоматизации: Полная интеграция рабочего процесса CI/CD, поддержка автоматического обновления при выпуске версий
Высокая инновационность метода: Впервые применены декларативные правила отображения для генерирования CodeMeta, предоставляя новый технологический путь
Высокая практическая ценность: Решение реально существующих проблем управления метаданными исследовательского программного обеспечения
Полнота реализации: Предоставление полного решения от концепции до развёртывания
Хорошая воспроизводимость: Предоставление подробных кодов реализации и руководств по развёртыванию
Статья содержит 37 ссылок, охватывающих принципы FAIR, технологии семантической сети, спецификацию CodeMeta, языки декларативного отображения и другие связанные области, обеспечивая прочную теоретическую основу и техническую поддержку для исследования.
Общая оценка: Это практически значимая техническая статья в области управления метаданными исследовательского программного обеспечения. Предложенный метод декларативного отображения обладает инновационностью, полнотой реализации и воспроизводимостью, имеет позитивное значение для продвижения принятия стандарта CodeMeta. Хотя существует пространство для улучшения в объёме и глубине оценки, статья предоставляет ценный технический вклад в эту область.