appendix A Discovering graphs

 

In this appendix, we explore the theory and implementations of graphs that are most pertinent to using the GNNs covered in the rest of the book. The goal is to help those of you who are less familiar with graphs learn enough to follow the book (if you’re familiar with graphs, you can skip this appendix). We establish basic definitions, concepts, and nomenclature, and then survey how the theory is realized in real systems. This foundation is not only necessary to follow the material in this book but also for building the insights that make architecting custom systems and troubleshooting errors easier.

Additionally, in a rapidly evolving field, the ability to quickly absorb new academic and technical literature is crucial for staying up to date with the state of the art. We also provide the basic background to pick up the essence of relevant published papers. In this appendix, we’ll use a running example of a social networking dataset to demonstrate the concepts. This is a dataset of more than 1,900 professionals and their industry relationships. Figure A.1 visualizes this graph (generated using Graphistry).

A.1 Graph fundamentals

A.1.1 Graph properties

A.1.2 Characteristics of nodes and edges

A.1.3 Categories of graphs

A.2 Graph representations

A.2.1 Basic graph data structures

A.2.2 Relational databases

A.2.3 How graphs are exposed

A.3 Graph systems

A.3.1 Graph databases

A.3.2 Graph compute engines (or graph frameworks)

A.3.3 Visualization libraries

A.3.4 GNN libraries

A.4 Graph algorithms

A.4.1 Traversal and search algorithms

A.4.2 Shortest path

A.5 How to read GNN literature

A.5.1 Common graph notations