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 معياراً موحداً لتمثيل بيانات تعريف برمجيات البحث، فإن قيود الأدوات الموجودة تعيق اعتمادها على نطاق واسع.
المدخلات: بيانات من موفري بيانات تعريف متعددين غير متجانسين (GitHub API وملفات Maven POM وسجلات Zenodo وغيرها)
المخرجات: ملف JSON-LD معياري يتوافق مع مواصفات CodeMeta 3.0
القيود: الحفاظ على السلامة الدلالية للبيانات، دعم التحديثات الآلية، ضمان نجاح التحقق من المخرجات
تحتوي الورقة على 37 مرجعاً يغطي مبادئ FAIR وتقنيات الويب الدلالية ومواصفات CodeMeta ولغات التعيين التصريحية والأعمال المهمة الأخرى ذات الصلة، مما يوفر أساساً نظرياً وتقنياً متيناً للبحث.
التقييم الشامل: هذه ورقة بحثية ذات قيمة عملية في مجال إدارة بيانات تعريف برمجيات البحث، والطريقة التصريحية المقترحة لها ابتكارية، والتطبيق كامل وقابل للإعادة، وله معنى إيجابي لتعزيز اعتماد معيار CodeMeta. بينما لا تزال هناك مجالات للتحسين في نطاق وعمق التقييم، فإنها توفر مساهمة تقنية قيمة لهذا المجال.