From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Amirouche Boubekki Newsgroups: gmane.lisp.guile.user Subject: Re: Presentation of traversi framework via graph recommendations Date: Fri, 09 Sep 2016 16:05:28 +0200 Message-ID: <580edbd59819dd1f16397b4818a1d711@hypermove.net> References: <20160909074901.5992528.49062.42610@ossau.homelinux.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1473430021 13496 195.159.176.226 (9 Sep 2016 14:07:01 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 9 Sep 2016 14:07:01 +0000 (UTC) User-Agent: Roundcube Webmail/1.1.2 Cc: Guile User To: Neil Jerram Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Sep 09 16:06:56 2016 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1biMS6-0002CU-VA for guile-user@m.gmane.org; Fri, 09 Sep 2016 16:06:47 +0200 Original-Received: from localhost ([::1]:58139 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1biMS4-00028J-QE for guile-user@m.gmane.org; Fri, 09 Sep 2016 10:06:44 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44921) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1biMRU-00025I-Tj for guile-user@gnu.org; Fri, 09 Sep 2016 10:06:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1biMRP-0003Sj-R0 for guile-user@gnu.org; Fri, 09 Sep 2016 10:06:07 -0400 Original-Received: from relay2-d.mail.gandi.net ([217.70.183.194]:54473) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1biMRP-0003SV-KW for guile-user@gnu.org; Fri, 09 Sep 2016 10:06:03 -0400 Original-Received: from mfilter26-d.gandi.net (mfilter26-d.gandi.net [217.70.178.154]) by relay2-d.mail.gandi.net (Postfix) with ESMTP id DE25EC5AB1; Fri, 9 Sep 2016 16:06:01 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter26-d.gandi.net Original-Received: from relay2-d.mail.gandi.net ([IPv6:::ffff:217.70.183.194]) by mfilter26-d.gandi.net (mfilter26-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id KTUehIXX8HSg; Fri, 9 Sep 2016 16:05:29 +0200 (CEST) X-Originating-IP: 10.58.1.142 Original-Received: from webmail.gandi.net (webmail2-d.mgt.gandi.net [10.58.1.142]) (Authenticated sender: amirouche@hypermove.net) by relay2-d.mail.gandi.net (Postfix) with ESMTPA id 795CDC5A9B; Fri, 9 Sep 2016 16:05:28 +0200 (CEST) In-Reply-To: <20160909074901.5992528.49062.42610@ossau.homelinux.net> X-Sender: amirouche@hypermove.net X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.70.183.194 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:12884 Archived-At: 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!