See my answer on StackOverflow: http://stackoverflow.com/a/21296982/728812
On Wed, Jan 22, 2014 at 11:45 PM, Jason Gilmore <[email protected]> wrote: > Hi, > > I'm a few weeks into the wonderful world of Neo4j and am starting to write > somewhat more ambitious queries. I'm struggling with one such query that > attempts to identify a set of customers C1 who do not own a product P1 but > who do own a product P2 that is also owned by a set of customers C2 who own > product P1. In other words I'm attempting to determine who is likely to > purchase P1 by correlating sales histories. > > Here is my query: > > start > n=node:node_auto_index(sku="123456") > match > (p)-[:owns]->(n), > (p)-[:owns]->(product), > (product)-[:owned_by]->(p2) > WHERE NOT((p2)-[:owns]->(n)) > return p2.name > limit 5 > > Breaking this down (as I understand it): > > * Given product having SKU 123456 (n=node:node_auto_index(sku="123456")) > * Retrieve a list of customers who own product 123456 ((p)-[:owns]->(n),) > * Retrieve a list of products owned by these customers > ((p)-[:owns]->(product),) > * Retrieve the customers who own any of these products > ((product)-[:owned_by]->(p2)) > * But make sure this last set of customers do not own SKU 123456 (WHERE > NOT((p2)-[:owns]->(n))) > * Return their names > > Interestingly when I limit the results to say 5 I receive an instantaneous > response but when I remove the limit I receive the dreaded "Unknown error" > in the web console. A look at the logs indicates nothing (but perhaps I'm > looking in the wrong place, again I'm a newbie). > > My questions: > > * Am I even going about this in the proper way? > * If the answer to my first question is yes, any idea why it fails when I > remove the limit? > > Thanks a million, I'm really loving Neo4j. > > Jason > > -- > You received this message because you are subscribed to the Google Groups > "Neo4j" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
