Zusammenfassung
In modern, agile software development continuous software evolution is the standard. Software changes can also affect the underlying database and its schema, resulting in schema evolution. Although schema evolution
has traditionally been associated with relational databases, similar challenges arise in NoSQL databases, including graph databases. Graph databases are often described as schemaless ...
Zusammenfassung
In modern, agile software development continuous software evolution is the standard. Software changes can also affect the underlying database and its schema, resulting in schema evolution. Although schema evolution
has traditionally been associated with relational databases, similar challenges arise in NoSQL databases, including graph databases. Graph databases are often described as schemaless because they do not enforce a predefined schema at the database level. However, they still have an implicit schema. When a graph database changes, the schema changes are typically implicit and often unknown, which can cause data quality problems. Making the evolutionary process between two schema versions explicit can help
migrating the data to conform to the changed schema.
In this paper, we present a model-driven approach that uses schema transformation techniques to reconstruct the evolutionary process between two schema versions. Our work is based on Graph Query Language, an ISO standard for graph databases, which makes our approach technology-independent. We present a semi-automated approach that first extracts the implicit schemas as graph models that ensure an abstract representation of the graph schemas. Next, we compare the graph models to identify possible transformations executed from the source and to the target model. An initial evaluation shows that schema extraction and schema transformation are both accurate and require only minimal manual user input.