And now it's in code. http://docs.neo4j.org/chunked/snapshot/query-match.html#match-optional-relationship
Hope that helps, Andrés On Thu, Aug 25, 2011 at 10:34 PM, Andres Taylor < [email protected]> wrote: > 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

