Good and valid requests, Aseem. Consider them heard. We'll see how soon we can get it to you.
Andrés On Thu, Aug 25, 2011 at 12:57 PM, Aseem Kishore <[email protected]>wrote: > Man, I am loving Cypher. Thanks so much guys for introducing it. I'm a bit > stuck on one query, though, and I wanted to ask for help. I think the > reasons I'm stuck are related to the two feature requests I made yesterday > (optional matches, and returning IDs). > > I want to fetch first- and second-degree friends in one query, in a way > that > preserves the first-degree friend(s) for each second-degree friends. Assume > an asymmetrical friendship model, like Twitter's following, because that > makes things a bit easier. > > Here's a simple transitive example: > > - Alice follows Bob and Carol. > - Bob follows Carol and Dave. > - Carol follows Dave and Alice. > > > I want to fetch Alice's first-degree friends (Bob and Carol) and each of > their first-degree friends ((Carol and Dave) for Bob, and (Dave and Alice) > for Carol). This example is easy enough: > > START zero=(Alice) > MATCH (zero) -[:FOLLOWS]-> (first) -[:FOLLOWS]-> (second) > RETURN first, second > > > I expect to get back results like: > > - Bob, Carol > - Bob, Dave > - Carol, Dave > - Carol, Alice > > > This is great because I can get Alice's first-degree friends by > unique()'ing > the first column, for each person, I know their second-degree friends via > the second column. > > But this doesn't work if any of my first-degree friends don't follow > anyone. > For that, it would be great if I could specify that the second part of that > match was "optional", and I'd get back a row like this in that case: > > - Elizabeth, <null> > > If I'm returning nodes, it also duplicates a ton of info: each first-degree > friend's info is returned in full for each of their friends. Maybe there's > no way around that, but this is also where I would find it convenient to be > able to return IDs somehow for all but one of the results. > > Just thinking out loud here, but I'd greatly appreciate any feedback or > ideas for this scenario. Thanks much! > > Aseem > _______________________________________________ > Neo4j mailing list > [email protected] > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

