Database Reference
In-Depth Information
are not very efficient in manipulating complex data. Besides, data manipulation
systems cannot easily work with structural or relational data.
Graphs are powerful representation formalism for both structured and unstruc-
tured data and can be seen as a unified data representation. Data in multiple domains
can be modeled naturally as graphs like Semantic Web [ 1 ], images, social networks
[ 2 ], and bioinformatics. Thus, recent database research demonstrates an increasing
interest in the definition of graph models and languages to allow a natural way of
handling data appearing in these applications. Indeed, a graph database leads to a
more natural modeling (graph structures) and offers flexible support for dynamic
data (social network, web, etc.). It also facilitates data query using graph operations.
Explicit graphs and graph operations allow a user to express a query at a very high
level of abstraction. Queries about paths and the shortest path between two nodes
are performed efficiently with graph database techniques.
In this chapter, we present the main graph database models and the associated
graph query languages; we also discuss two related models that are not quite graph
database models, but use graphs, for example, for navigation, for defining views, or
as language representation. We discuss in each section the capacity of these models
and query languages to present or to query communities' data, especially informa-
tion found on social networks. Then, we present an application using a graph
database for modeling social networks.
9.2 Graph Database: Models and Query Languages
9.2.1 Brief Overview of Graph Database Models
A graph database is defined [ 3 ] as a “database where the data structures for the
schema and/or instances are modeled as a (labeled) (directed) graph, or general-
izations of the graph data structure, where data manipulation is expressed by
graph-oriented operations and type constructors, and has integrity constraints
appropriate for the graph structure”. More formally, a graph database schema is
in the form of a graph G db ¼ð
,where N is a set of nodes and E is a set of
edges; c is an incidence function from E into N
N
;
E
; c ; l Þ
N ;and V is a set of labels and
l
E into V . There are a variety of models for a
graph database (for more details, see [ 3 ]). All these models have their formal
foundation as variations of the basic mathematical definition of a graph. The
structure used for modeling entities and relations influences the way that data are
queried and visualized. In this section, we compare existing models to find the
one most suitable for storing and representing a social network. We focus on
the representation of entities and relations in these models. We present in what
follows some models classified according to the data structure used to model
entities and relations.
is a labeling function from N
[
Search WWH ::




Custom Search