Nov 3rd, 2011, 12:21 PM
Cypher Collaborative Filtering extention
I am trying to extent a simple collaborative filtering process to include returning only recommendations of items that contain a given set of category tags.
i.e. find me all films that are tagged with both comedy and horror.
Is this type of graph traversal possible becasue it would require a split in the path?
Could I user the All function to find the set of category tags and find if each one is connected to the item?
Nov 4th, 2011, 06:50 AM
Yes, that's very possible. If you're tags are nodes (they probably should), it could look like this:
START comedyTag=node(...), horrorTag=node(...)
Does that answer your question?
Nov 7th, 2011, 02:52 AM
I am thinking more along the lines of something of a more general case, a bit like:
MATCH ALL(tags <-- movie )
So rather then explicitly define a set of relations for each category tag, and therefore have to rebuild the query for each tag set, provide a general case similar to the java collections containsAll(..) method.
Nov 7th, 2011, 07:47 AM
That's a terrific idea. I can definitely see it's use.
Originally Posted by c-fly
Unfortunately, Cypher doesn't support this today. I think this feature is interesting enough that we'll discuss it for inclusion in future versions.
Thanks so much for your feedback,
Tags for this Thread