On 2016-09-09 09:49, Neil Jerram wrote:
I got lost at the point of looking up the genres for Toy Story; why does that involve graph traversal?
Because genres are connected to movies using an edge. It's possible to store genre information in a movie vertex assoc as a list value but then it will be difficult to fetch all movies for a given genre. With this graph layout, you can for instance fetch the "fantasy" genre and ask the question "what are all the movies of fantasy genre" simply using 'outgoings' proc... See below.
Probably it would help to add a bit into the blog to explain how the movie information is mapped into a graph.
I should prolly add a drawing too. While trying to write down an explanation about how the graph is built I figured there is a mistake in how the graph is built. Movie and genre are connected by a genre edge, it doesn't make much sens. It should be somekind of relation like "movie is instance of genre". It will make more sens, it will be more explicit. I will rewrite the load script to avoid this mistake and rework the article. I will keep you posted. Thanks for your interest.
Original Message From: Amirouche Boubekki Sent: Friday, 9 September 2016 07:32 To: Guile User Subject: Presentation of traversi framework via graph recommendations Héllo, I published an article on my blog about how to use `grf3` the graph database library built on top of wiredtiger [0]. [0] http://hyperdev.fr/notes/a-graph-based-movie-recommender-engine-using-guile-scheme.html This introduce traversi framework to do graph traversal. traversi is inspired from Tinkerpop's Gremlin. Traversi is a custom stream library which is faster than srfi-41 and support backtracking. I think that building traversi on top of streams make graph traversal much more approachable. This article is inspired from a *graph-based recommender engine* [1] [1] https://markorodriguez.com/2011/09/22/a-graph-based-movie-recommender-engine/ Have fun!
