Summary
In this chapter, we compared and contrasted traditional relational databases and graph databases to perform path-based analyses. Our path-based analysis of choice was recommending a game to a user on the Steam publishing platform and was performed in both MySQL and igraph.
MySQL, and other relational databases, can be used to find paths between tables of related entities, such as users and the games they play and purchase. However, this involves performing self-joins on the same table or repeatedly querying the same table. On the other hand, graph databases and data models are natively set up for path-based queries, so we used igraph to recommend a game to a user based on paths between users and games in our graph.
Then, we covered how to move data over from MySQL to Python igraph, both step-by-step and with a generic set of methods that can be used for any directed, heterogeneous graph.
Finally, we set up a more sophisticated system to make game recommendations to...