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

Reply via email to