DOI: 10.3390/technologies14110692 ISSN: 2227-7080

Pre-Processing Modeling Artifacts for Graph Neural Networks: A DSL for Model Encoding

Zahra Rajaei, Shekoufeh Kolahdouz-Rahimi, Massimo Tisi

Graph learning leverages deep neural networks to analyze and infer from graph-structured data, to extract meaningful patterns and insights from graph data for various classification and prediction problems. The community is exploring ways to exploit graph learning to address several tasks within the field of model-driven engineering (MDE). However, effectively using graph learning requires MDE practitioners to have a strong grasp of the technical details behind the graph-learning process, for instance, to properly encode models in an input format that best suits the given graph neural network. In this work, we propose MoEGL, a domain-specific language designed to specify and perform the encoding process. The user names, in the metamodel’s own terms, which classes, references, and attribute values enter the graph. The tool writes NetworkX 3.4.2 graphs and PyTorch Geometric 2.6.1 heterogeneous graphs, and it can keep the type information of the model. On the graphs published by López et al., one configuration reproduces every graph we checked: 500 Ecore, 500 RDS, and 369 Yakindu. On the 500 Ecore models, a first run is faster than their Java encoder, and each task is 14 to 29 lines of YAML.

More from our Archive