This chapter discusses graph databases, which are used to model
relationships rather than traditional structured data. Graph databases have
nothing to do with presentation graphics. Just as FORTRAN is based on
algebra, and relational databases are based on sets, graph databases are based
on graph theory, a branch of discrete mathematics. Here is another way we
have turned a mind tool into a class of programming tools!
Graph databases are not network databases. Those were the prerelational
databases that linked records with pointer chains that could be traversed record
by record. IBM's Information Management System (IMS) is one such tool still
in wide use; it is a hierarchical access model. Integrated Database Management
System (IDMS), TOTAL, and other products use more complex pointer
structures (e.g., single-link lists, double-linked lists, junctions, etc.) to allow
more general graphs than just a tree. These pointer structures are “hardwired”
so that they can be navigated; they are the structure in which the data sits.
In a graph database, we are not trying to do arithmetic or statistics. We
want to see relationships in the data. Curt Monash the database expert and
blogger (http://www.dbms2.com/, http://www.monash.com) coined the term
for this kind of analysis: relationship analytics.