Foreword |
|
vii | |
Preface |
|
xi | |
1 Introduction |
|
1 | (10) |
|
|
1 | (3) |
|
A High-Level View of the Graph Space |
|
|
4 | (4) |
|
|
5 | (2) |
|
|
7 | (1) |
|
The Power of Graph Databases |
|
|
8 | (2) |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
10 | (1) |
2 Options for Storing Connected Data |
|
11 | (14) |
|
Relational Databases Lack Relationships |
|
|
11 | (4) |
|
NOSQL Databases Also Lack Relationships |
|
|
15 | (3) |
|
Graph Databases Embrace Relationships |
|
|
18 | (6) |
|
|
24 | (1) |
3 Data Modeling with Graphs |
|
25 | (40) |
|
|
25 | (1) |
|
The Labeled Property Graph Model |
|
|
26 | (1) |
|
Querying Graphs: An Introduction to Cypher |
|
|
27 | (5) |
|
|
28 | (2) |
|
|
30 | (1) |
|
|
30 | (1) |
|
|
31 | (1) |
|
A Comparison of Relational and Graph Modeling |
|
|
32 | (9) |
|
Relational Modeling in a Systems Management Domain |
|
|
33 | (5) |
|
Graph Modeling in a Systems Management Domain |
|
|
38 | (1) |
|
|
39 | (2) |
|
|
41 | (11) |
|
Creating the Shakespeare Graph |
|
|
45 | (1) |
|
|
46 | (2) |
|
Declaring Information Patterns to Find |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
50 | (1) |
|
|
51 | (1) |
|
|
52 | (11) |
|
Email Provenance Problem Domain |
|
|
52 | (1) |
|
A Sensible First Iteration? |
|
|
52 | (3) |
|
|
55 | (3) |
|
|
58 | (5) |
|
Identifying Nodes and Relationships |
|
|
63 | (1) |
|
|
63 | (1) |
|
|
64 | (1) |
4 Building a Graph Database Application |
|
65 | (40) |
|
|
65 | (11) |
|
Describe the Model in Terms of the Application's Needs |
|
|
66 | (1) |
|
Nodes for Things, Relationships for Structure |
|
|
67 | (1) |
|
Fine-Grained versus Generic Relationships |
|
|
67 | (1) |
|
|
68 | (3) |
|
Represent Complex Value Types as Nodes |
|
|
71 | (1) |
|
|
72 | (2) |
|
Iterative and Incremental Development |
|
|
74 | (2) |
|
|
76 | (9) |
|
|
76 | (5) |
|
|
81 | (1) |
|
|
82 | (3) |
|
|
85 | (10) |
|
Test-Driven Data Model Development |
|
|
85 | (6) |
|
|
91 | (4) |
|
|
95 | (4) |
|
|
95 | (1) |
|
|
96 | (2) |
|
|
98 | (1) |
|
|
98 | (1) |
|
Importing and Bulk Loading Data |
|
|
99 | (5) |
|
|
99 | (1) |
|
|
100 | (4) |
|
|
104 | (1) |
5 Graphs in the Real World |
|
105 | (44) |
|
Why Organizations Choose Graph Databases |
|
|
105 | (1) |
|
|
106 | (5) |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
108 | (1) |
|
|
109 | (1) |
|
Network and Data Center Management |
|
|
109 | (1) |
|
Authorization and Access Control (Communications) |
|
|
110 | (1) |
|
|
111 | (36) |
|
Social Recommendations (Professional Social Network) |
|
|
111 | (12) |
|
Authorization and Access Control |
|
|
123 | (9) |
|
|
132 | (15) |
|
|
147 | (2) |
6 Graph Database Internals |
|
149 | (22) |
|
|
149 | (3) |
|
|
152 | (6) |
|
|
158 | (4) |
|
|
158 | (1) |
|
|
159 | (1) |
|
|
160 | (2) |
|
Nonfunctional Characteristics |
|
|
162 | (8) |
|
|
162 | (1) |
|
|
163 | (1) |
|
|
164 | (2) |
|
|
166 | (4) |
|
|
170 | (1) |
7 Predictive Analysis with Graph Theory |
|
171 | (22) |
|
Depth- and Breadth-First Search |
|
|
171 | (2) |
|
Path-Finding with Dijkstra's Algorithm |
|
|
173 | (8) |
|
|
181 | (1) |
|
Graph Theory and Predictive Modeling |
|
|
182 | (6) |
|
|
182 | (2) |
|
|
184 | (4) |
|
|
188 | (2) |
|
|
190 | (3) |
A NOSQL Overview |
|
193 | (18) |
Index |
|
211 | |