SoftwareX (May 2024)
An RML-FNML module for Python user-defined functions in Morph-KGC
Abstract
The RML mapping language declares schema transformations to map heterogeneous data into knowledge graphs. Although the schema transformations provided by RML are sufficient for simple use cases, large real-world ones typically involve diverse data and require complex computations. User-defined functions provide the flexibility to enable the creation and application of knowledge graphs for these use cases and also allow reusing existing software packages for data processing in multiple domains. In this work, we present an implementation for data transformations in Morph-KGC. This implementation has the following benefits: (i) it conforms to RML-FNML, the standard module for data transformations in RML, (ii) it can handle user-defined functions written in Python, a widely used programming language for data processing, (iii) it includes support for YARRRML, a user-friendly syntax of RML to maximize usability. The implementation is currently being used by BASF, a large multinational chemical company, to semantically integrate its industrial data in a maintainable and reproducible manner.