No

>>    MATCH (me:User{id: {me} }) 
>>    MATCH me-[:FRIENDS]-(user) 
>>   WHERE user:Twitter
>>          OR  user:Facebook
>>  RETURN 
>> DISTINCT user.id as id 
>>    ORDER BY id
>>        SKIP {start} 
>>       LIMIT {limit}
Am 19.06.2014 um 00:38 schrieb Richard L. Burton III <[email protected]>:

> Okay so you're saying that having a node for all the social networks and 
> establishing users to that network would be faster vs. having a property on a 
> user and searching whether a user has a value in it.
> 
> e.g., property based
> 
> MATCH (me:User{id: 1 }) 
> WHERE any(n in me.networks WHERE n = 'twitter') or ...
> RETURN DISTINCT me.id as id 
> ORDER BY me.id
> 
> vs.
> 
> MATCH (me:User{id: 1 }) 
> WHERE (me)-[:ON]-(sn:Network{name: 'twitter'})
> RETURN DISTINCT me.id as id 
> ORDER BY me.id
> 
> How does that scale out with say millions of users pointing to a single node? 
> 
> 
> 
> On Wed, Jun 18, 2014 at 6:20 PM, Michael Hunger 
> <[email protected]> wrote:
> Performance wise I think it would also make sense to consider treating the 
> social networks as labels on the people.
> 
> if you put a with in between you prohibit the pattern matcher from pulling 
> the expression into the path evaluation.
> 
> Michael
> 
>>    MATCH (me:User{id: {me} }) 
>>    MATCH me-[:FRIENDS]-(user) 
>>   WHERE {social_network0} in user.networks
>>          OR  {social_network1} in user.networks
>>  RETURN 
>> DISTINCT user.id as id 
>>    ORDER BY id
>>        SKIP {start} 
>>       LIMIT {limit}
> 
> Am 18.06.2014 um 23:34 schrieb Richard L. Burton III <[email protected]>:
> 
>> On the node, I have a property that's an array of social networks. I want to 
>> issue a query that says: Find all users whose social_networks property 
>> contains any of the following e.g., Twitter, Facebook, etc.
>> 
>> Would the correct way of executing that search:
>> 
>>    MATCH (me:User{id: {me} }) 
>>    MATCH me-[:FRIENDS]-(user) 
>>       WITH user.networks as networks 
>>   WHERE any({social_network0} in networks) 
>>          OR any({social_network1} in networks) 
>>  RETURN 
>> DISTINCT user.id as id 
>>    ORDER BY user.id 
>>        SKIP {start} 
>>       LIMIT {limit}
>> 
>> Let {me} = numerical id
>> Let {socail_network0} = twitter
>> Let {socail_network1} = facebook
>> Let {start} = 0
>> Let {limit} = 10
>> 
>> Cheers,
>> -- 
>> -Richard L. Burton III
>> @rburton
>> 
>> -- 
>> 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/d/optout.
> 
> 
> -- 
> 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/d/optout.
> 
> 
> 
> -- 
> -Richard L. Burton III
> @rburton
> 
> -- 
> 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/d/optout.

-- 
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/d/optout.

Reply via email to