Reviews and Testimonials
This book is the first that approaches the challenges associated with graphs from a data management point of view; it connects the dots. As I am currently involved in building a native graph database engine, I encounter problems that arise from every possible aspect: data representation, indexing, transaction support, parallel query processing, and may others. All of them sound familiar to a database researcher, but the inherent change is fundamental as they originate from a new foundation. I found that this book contains a lot of timely information, aiding my efforts. To be clear, it does not offer the blueprint for building a graph database system, but it contains a bag of diamonds, enlightening the readers as they start exploring a field that may fundamentally change data management in the future.
– Haixun Wang, Microsoft Research Asia
The graph is a powerful tool for representing and understanding objects and their relationships in various application domains. Recently, graphs have been widely used to model many complex structured and schemaless data such as semantic web, social networks, biological networks, protein networks, chemical compounds and business process models. The growing popularity of graph databases has generated interesting data management problems. Therefore, the domain of graph databases have attracted a lot of attention from the research community and different challenges have been discussed such as: subgraph search queries, supergraph search queries, approximate subgraph matching, short path queries and graph mining techniques.
This book is designed for studying various fundamental challenges of storing and querying graph databases. In addition, it discusses the applications of graph databases in various domains. In particular, the book is divided into three main sections.
The first section discusses the basic definitions of graph data models, graph representations and graph traversal patterns. It also provides an overview of different graph indexing techniques and evaluation mechanisms for the main types of graph queries. The second section further discusses advanced querying aspects of graph databases and different mining techniques of graph databases. It should be noted that many graph querying algorithms are sensitive to the application scenario in which they are designed and cannot be generalized for all domains. Therefore, the third section focuses on presenting the usage of graph database techniques in different practical domains such as: semantic web, chemoinformatics, bioinformatics, business process model and transportation networks.
In a nutshell, the book provides a comprehensive summary from both of the algorithmic and the applied perspectives. It will provide the reader with a better understanding of how graph databases can be effectively utilized in different scenarios.