for an approach using neo4j, check out cadet! (my project)
cadet is more just a jruby wrapper around neo4j, but one can use it to interact with neo4j (and thus come up with recommendations without touching a line of java, or even cypher )
still in progress, and id love any input! http://github.com/karabijavad/cadet