Nautilus: Implementation of an Evolution Approach for Graph Databases
Equivalent to relational databases, there is the need of an evolution language for graph databases, describing how evolution operations such as add, rename, delete, copy, move, split and merge are specified domain independent. Previous work proposes the graph evolution language GEO which we build upon. In this paper, we present our program called Nautilus, implementing this formal language, used to define evolution and intuitively easing the usage of graph database systems. GEO can also be used to update implicit structures. Users benefit not only from an easy-to-use interface to minimize syntax errors and to reduce the necessary knowledge of the evolution language, but also from additional statistics on database structures which are visualized in the tool. This visualization enables the initial data exploration as well as finding out the effects of the development by comparing data versions. Consequently, Nautilus is capable of widening the range of users and accessibility of graph databases for interdisciplinary research projects. Illustrating schema changes and performing schema evolution in a transparent manner builds the core of Nautilus. Complex operations like split and transform are part of the available evolution language, thus avoiding programming workarounds. An additional features of the tool is a logging components that offers the traceability of all performed evolution operations.