If possible I'd still love to get a copy of your db to test out some ideas.

Michael


On Thu, Jul 10, 2014 at 3:24 PM, 丁桂涛 <[email protected]> wrote:

> Hi Michael,
>
>
>
> Thanks for yo kind reply.
>
>
> I'm testing your code. As I replied earlier, I already swithed to Spark
> Graphx and its connected components algorithm perfectly solved my problem.
> Besides, Spark can read files on HDFS and run on clusters. It only took few
> seconds to accomplish my task.
>
>
> So I just temporarily put neo4j aside and thank you again for your answer!
>
>
> Best Regards,
>
>
> Guitao
>
> On Thursday, July 10, 2014 9:05:58 PM UTC+8, Michael Hunger wrote:
>
>>
>>
>> match (n:user_id)
>> match (n)-[:mapping*]-(d:user_id)
>> return n.value as user_id,
>> case when min(d.value) > n.value then n.value else min(d.value) end as
>>  people_id
>>
>>
>>
>>
>> could you also try to run:
>>
>> match (n:user_id)
>> match (n)-[:mapping*]-(d:user_id)
>> RETURN count(*)
>>
>> Would you be able to share your Neo4j database with me?
>>
>> Thanks,
>>
>> Michael
>>
>>
>> On Thu, Jul 10, 2014 at 3:05 AM, Guitao Ding <[email protected]>
>> wrote:
>>
>>>
>>> Hi Michael,
>>>
>>> The data is from one website. The user_id is the ID of each registered
>>> user. And every user_id is linked to one or more cookie_ids (the value of
>>> one cookie).
>>> Also one cookie_id is linked to one or more user_ids. So user_id and
>>> cookie_id are many to many mapping. My case is to find all user_ids linked
>>> with each other (via cookie_ids, and no limit on the path length) and
>>> assign them one unique ID (here i used then smallest user_id in the path).
>>>
>>> for example:
>>> All user_ids (user_id1, user_id2, user_id3) in the following path should
>>> be assigned one same ID (e.g. user_id1)
>>> user_id1----cookie_id1----user_id2-----cookie-id2-----user_id3
>>>
>>> I imported the data to neo4j and use different labels for user_id and
>>> cookie_id. There is only one type of relationship (cookie_id -- user_id)
>>> and the direction doesn't matter.
>>>
>>> On Thursday, July 10, 2014 6:01:14 AM UTC+8, Michael Hunger wrote:
>>>
>>>> This is a graph global query, with unlimited paths, so it might
>>>> generate many billions or trillions of paths to look at.
>>>> Esp. if you don't provide a direction.
>>>>
>>>> if your nodes are all users, then you do the equivalent of finding all
>>>> paths between the cross product of 16M^2
>>>>
>>>> Perhaps you can describe your actual use-case that you try to solve?
>>>>
>>>> Michael
>>>>
>>>>
>>>>
>>>> On Wed, Jul 9, 2014 at 4:23 PM, Guitao Ding <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I'm leaning to user neo4j for relation analysis recently. Today I
>>>>> found it took too long for my cypher query took to finish.
>>>>>
>>>>> I used the batch importer
>>>>> <https://github.com/jexp/batch-import/tree/20> to import all data
>>>>> into neo4j. And I wanted to find the smallest user_id connected (directly
>>>>> or undirectly, path length no limit) to each user_id. Below is the 
>>>>> details:
>>>>>
>>>>> neo4j version: 2.1.2
>>>>> nodes num: 16M (three labels)
>>>>> relation num: 10M
>>>>> cypher query:
>>>>>
>>>>> match (n:user_id)-[:mapping*]-(d:user_id)
>>>>> with n.value as user_id,
>>>>> case when min(d.value) > n.value then n.value else min(d.value) end as
>>>>> people_id
>>>>> return user_id, people_id
>>>>>
>>>>>
>>>>> What should I do to improve my query performance? Any suggestions
>>>>> would be appreciated!
>>>>>
>>>>> Thanks in advance.
>>>>>
>>>>>  Guitao
>>>>>
>>>>> --
>>>>> 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.
>>>
>>
>>  --
> 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