We’ve started Dgraph, but first things first: What is a graph and what has that got to do with databases?
Graphs describe objects and the interconnections between them. Many people have heard of friendship graphs, or social network graphs, so let’s start there.
OK, you’ll have to use your imagination here. We’re still building the tutorial, and we don’t have the visualizations up and running just yet. By starting Dgraph, you’ll have the visualization component working just fine. Very soon, that will be integrated with the tutorial. If you want the visualization, you’ll have to run it in another tab and cut and paste the queries across.
Press run the query to the right. (You’ll see the JSON output here. Run the same query in Dgraph UI and check the visualization too though.) In the resulting graph, circles denote people and pets, and lines denote connections or labeled relationships between them. See if you can find Michael and his pet sheep, Rammy.
Graphs lend themselves so naturally to visualization that you’ll find yourself thinking in terms of graphs and visualizations of them.
In a graph, the objects (or entities) are called nodes and the relationships are called edges or predicates.
Graphs aren’t just for social networks. Other examples include
- Interconnected data, like SQL tables requiring joins
- Advanced search
- Recommendation engines
- Pattern detection
- Networks, like computers, roads, and telecommunications
- Processes, like business and biological processes
- Events and the causality or other links between them
- Structures of firms or markets
These and the many more applications of graphs lead us to graph databases.