Abstract As an important kind of NOSQL databases, graph
database management systems (GDBMSs) have improved
greatly in recent years. However, the development of related
linked queries is still limited. This paper introduces an
approach for matching frequently-used management tasks of
GDBMS with concepts in Structured Query Language (SQL).
An application programming interface (API) based on the
Neo4j GDBMS was developed to enable functionalities needed
with graph databases. Besides the API, a user-friendly
graphical user interface (GUI) was developed enabling the
management and demonstration of graph datasets. Further,
is proposed as a design for
integrating graphs with tables. The prototype combining these
components constitutes the fundamental elements of a graph
data warehouse. The proposed research initiates an effort to
develop the potential of graph information systems (GRIS) and
to define associated technical aspects.
Database Management Systems; NOSQL Database; Graph
Database; Data Warehouses; Linked Queries; Cube; Join
I. FROM SQL DATABASE TO GRAPH DATABASE
With the continual growth of web-scale data, unique
database management systems have gained prominence and
are sought as components in the next generation of
information systems. Classified as NOSQL (Not Only SQL),
the databases are designed to represent special data such as
might arise with web-interactions or to offer functionalities
for manipulating such data [1, 2].
Graph databases [3], a kind of NOSQL databases,
employ a graph as their data model. Graph database
management systems (GDBMSs), such as Neo4j, usually
provide a more efficient graph transversal framework with
massive scalability (up to billions of nodes, edges, and
related properties) [4].
However, GDBMSs do not have capabilities for easily
constructed, linked queries -- a very essential part of any
database management system [5]. Most current graph
databases only provide functions for developers. Neo4j does
provide Cypher, but its query functionalities are limited. For
example, some typical data manipulation operations, such as
insert and update, are not provided in Cypher. The relational
and SQL data world has an engrained expectation for a
standardized command structure allowing easy manipulation
of values with the data representation.