<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>mapping and transformation tool for labeled property graphs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pedro Guimarães</string-name>
          <email>pedro.guimaraes@ccg.pt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ana León</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maribel Yasmina Santos</string-name>
          <email>maribel@dsi.uminho.pt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valencia</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Spain</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Labeled Property Graphs, Class Diagrams, Model-to-Model Transformation, Conceptual Meta-model</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ALGORITMI Research Centre, University of Minho, Campus de Azurém</institution>
          ,
          <addr-line>4800-058 Guimarães</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>CCG/ZGDV - ICT Innovation Institute, Campus de Azurém</institution>
          ,
          <addr-line>4800-058 Guimarães</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Project Exhibitions</institution>
          ,
          <addr-line>Posters and Demos, and Doctoral Consortium</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Valencian Research Institute for Artificial Intelligence (VRAIN), Universitat Politècnica de València</institution>
          ,
          <addr-line>Camí de Vera S/N</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Class Diagrams and Labeled Property Graphs are essential concepts in software development and are often used together in Model Driven Development approaches. This paper follows up on our previous work [1] that presented a new approach to transform models based on the analytical requirements. Nevertheless, these transformations can be complex and time-consuming when not supported by any tool. This follow-up paper presents a tool that supports the systematic applicability of transformation patterns by integrating several components and technologies. The proposed solution uses a rule-based approach to detect patterns in the input Class Diagrams model, performs data transformations, and generates mappings between diferent data models to obtain one or more Labeled Property Graphs.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        There has been a growing trend to automate Model-to-Model (M2M) transformations, although
these are mainly focused on straightforward transformations from Class Diagram (CD) to specific
domains [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref5">2, 3, 4, 5</xref>
        ]. León et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] propose a transformation process that follows a systematic
approach based on patterns, such as aggregations, compositions, and specializations. The
process of transforming a CD into a LPG (Labeled Property Graph) should include a systematic
set of steps to ensure that the resulting Property Graph is the most appropriate for the given
context. The previous work presented in Guimarães et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] assessed diferent transformation
tools considering five dimensions, namely the use of a meta-model with background information,
the use of predefined patterns, the application of rules in the transformation process, the analysis
of the analytical relevance of the domain concepts, and the compatibility with graph databases.
Advancing this previous work, this paper proposes a tool that integrates all these dimensions
and performs pattern mapping with the support of a patterns meta-model, and presents the
defined architecture and the implemented solution, demonstrating its feasibility in automatically
CEUR
Workshop
Proceedings
transforming a given CD into one or more LPGs. This paper is organized as follows. Section
2 describes the tool technological components and Section 3 presents the conclusions and
guidelines for future work.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2. Tool technological components</title>
      <p>The M2M Mapping and Transformation Tool is a system designed to convert UML CD
represented in an XML file into LPGs, represented as a set of Cypher scripts. The process that
enables this transformation is more than a monolithic operation, it is an orchestration of various
distinct components, each with its specific role, contributing to the system’s overall functionality
and efectiveness. In this section, we delve into the architecture of the M2M Mapping and
Transformation Tool, exploring the role of each component. We examine their relevance in
the operation of the system, the challenges faced during their design and implementation, and
the strategies employed to overcome these challenges. This comprehensive overview, depicted
in Figure 1, shows the tool’s underlying logic, demonstrating how the integration of diferent
components results in seamless data transformation.</p>
      <p>The M2M Mapping and Transformation Tool leverages a range of software components to run
its conceptual approach. The Web App is a user-friendly interface, allowing Domain Experts to
input their CD and validate the output models. The API Gateway manages the communication
between the various components, ensuring smooth data flow throughout the transformation
pipeline. Apache Airflow orchestrates the sequence of the transformation process, ensuring the
orderly execution of tasks. Apache Spark, used in every processing stage, ofers scalability and
eficient distributed data processing. MongoDB, the tool’s primary storage system, ensures that
the output of each stage is safely stored and can be traced back for auditing or troubleshooting
purposes.</p>
      <p>The tool relies on Connectors that perform the role of parsing and identifying relevant
elements from the CD XML files that the Domain Expert uploads. They are responsible for
translating the data from its original form into a structure that the M2M Mapping and
Transformation Tool can process. This is required because diferent modeling tools represent CDs
in XML files with diferent structures. Therefore, the connectors ensure that the tool is able
to transform the CDs independently of the tool used to model them. Without them, the tool
would be limited to a specific software or data structure, significantly limiting its versatility
and applicability. Moreover, these connectors are designed to be extensible. Additionally, this
approach empowers third-party developers to create their own connectors that interface with
this technological solution, expanding its compatibility.</p>
      <p>
        Also, the tool uses a Patterns Library that holds a set of functions designed to systematically
identify and map patterns found within a UML CD file by following a set of rules [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Each pattern
has its own unique way of being identified. The tool uses several elements, such as class type,
cardinality, association type, and the analytical value of the classes, among others characteristics,
to identify and apply patterns in a UML CD. The mapping functions focus on specific properties
and relationships between classes, applying logic to manipulate these characteristics as needed.
The transformation tool integrates Vis.js to visualize the models obtained at diferent stages
of the transformation process (Figure 2). This is relevant in this tool as it does more than
just rendering static images of models. Deployed as a Web Application, provides interactive
and dynamic visual representations that allow Domain Experts to manipulate and inspect the
models, promoting an active interaction between the user and the system. Domain Experts can
navigate through these visual representations, zooming in and out, rearranging elements, and
exploring diferent views and details of the model. As shown in Figure 2, for a given CD as
input, one or more LPGs can be identified as output. The domain expert is responsible for both
verifying and validating the output graphs, using the interactivity facilitated by Vis.js. This
ensures that the resulting model aligns accurately with the user’s requirements.
      </p>
      <p>
        The integration between the conceptual and the technological layers is what enables the M2M
Mapping and Transformation Tool to function efectively. The conceptual approach sets the
‘what’ and the ‘why’, defining what needs to be done and why it is being done. The technological
components provide the ’how’, making available the means by which the conceptual goals
can be achieved. The formalized patterns and transformation rules defined by León et al.
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] are strictly followed by the tool, ensuring a rigorous, yet flexible transformation process.
The technological components allow the M2M Mapping and Transformation Tool to remain
responsive and adaptable, capable of meeting a diverse range of domain modeling needs while
still ensuring a robust and eficient transformation process.
      </p>
    </sec>
    <sec id="sec-4">
      <title>3. Conclusions</title>
      <p>LPGs have become popular for representing complex data, but the manual transformation of
CDs into LPGs can be complex and time-consuming. While related transformation processes
mainly focused on transforming CDs to specific domains, this work is focused on pattern-based
transformations from CDs to LPGs. Through the integration of a formalized meta-model,
technological components, and a system implementation, we have presented a tool that further
enhances this process identifying one or more LPGs for a given CD.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>This work has been supported by FCT – Fundação para a Ciência e Tecnologia within the R&amp;D
Units Project Scope: UIDB/00319/2020, and by the Spanish Ministry of Universities and the
Universitat Politècnica de València under the Margarita Salas Next Generation EU grant.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Guimarães</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>León</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Santos</surname>
          </string-name>
          ,
          <article-title>An automated patterns-based model-to-model mapping and transformation system for labeled property graphs</article-title>
          , in: S. Nurcan,
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Opdahl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Mouratidis</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Tsohou (Eds.),
          <source>Research Challenges in Information Science: Information Science and the Connected World (Vol. 476)</source>
          , Springer Nature Switzerland,
          <year>2023</year>
          , pp.
          <fpage>171</fpage>
          -
          <lpage>186</lpage>
          . doi:
          <volume>10</volume>
          .1007/978- 3-
          <fpage>031</fpage>
          - 33080- 3_
          <fpage>11</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Abdelhedi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Brahim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Atigui</surname>
          </string-name>
          , G. Zurfluh,
          <article-title>Mda-based approach for nosql databases</article-title>
          ,
          <source>in: 19th International Conference on Big Data Analytics and Knowledge Discovery (DaWaK</source>
          <year>2017</year>
          ),
          <year>2017</year>
          , pp.
          <fpage>88</fpage>
          -
          <lpage>102</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Billen</surname>
          </string-name>
          ,
          <article-title>UML as a Schema Candidate for Graph Databases</article-title>
          ,
          <source>Technical Report</source>
          , University of Liège,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Mior</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Salem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Aboulnaga</surname>
          </string-name>
          , R. Liu, Nose:
          <article-title>Schema design for nosql applications</article-title>
          ,
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>29</volume>
          (
          <year>2017</year>
          )
          <fpage>2275</fpage>
          -
          <lpage>2289</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Truptil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Benaben</surname>
          </string-name>
          ,
          <article-title>An automatic model-to-model mapping and transformation methodology to serve model-based systems engineering</article-title>
          , Inf
          <string-name>
            <surname>Syst E-Bus</surname>
            <given-names>Manage</given-names>
          </string-name>
          15 (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>León</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Santos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>García</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Casamayor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Pastor</surname>
          </string-name>
          ,
          <article-title>Model-to-model transformation: From uml class diagrams to labeled property graphs</article-title>
          ,
          <source>Business &amp; Information Systems Engineering</source>
          (
          <year>2023</year>
          ).
          <source>doi:10.1007/s12599- 023- 00824- 9.</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>