Michael, thanks for chiming in.

This turned out to be a mistake of the ETL process using outdated input.
I'm using 2.2.2; is there any critical fix in newer versions?

On Sat, Sep 12, 2015 at 3:24 PM Michael Hunger <
[email protected]> wrote:

> It means that you don't have id's which are huge, e.g 100M or 5bn while
> just having a few nodes. Then the store-file would grow to accommodate the
> huge record-id.
>
> Which version are you on? Afaik Mattias fixed an issue in that area?
>
> Michael
>
> Am 12.09.2015 um 23:05 schrieb Zongheng Yang <[email protected]>:
>
> I think I got hit by this issue again, on a different dataset.
>
> Mattias / Michael, could you clarify that what "without large holes in the
> distribution" precisely means?
>
> My node csv has a line for each node, and line K (0-indexed) uniquely
> corresponds to data of node K (0-indexed).  There are exactly as many
> number of lines as the number of nodes in the graph.  So it should respect
> this property.
>
> However, for the edge csv, does it have to satisfy any special property?
>
> On Tue, Jun 16, 2015 at 4:56 AM Mattias Persson <[email protected]>
> wrote:
>
>> Yes, I agree --id-type ACTUAL will guarantee this constraint.
>>
>>
>> On Monday, June 15, 2015 at 9:43:38 PM UTC+2, Zongheng Yang wrote:
>>>
>>> Fantastic, in my case the ids are exactly the sequence [0, 1, ..., N]
>>> without gaps, unique, and in that order.
>>>
>>> Thanks both of you for the help!
>>>
>>> On Monday, June 15, 2015 at 12:34:18 PM UTC-7, Michael Hunger wrote:
>>>>
>>>> No, --id-type actual
>>>> would but then you have to make sure to have globally unique
>>>> incrementing id's without large holes in the distribution.
>>>>
>>>>
>>>> Am 15.06.2015 um 21:31 schrieb Zongheng Yang <[email protected]>:
>>>>
>>>> I see.  Would setting the `--processors 1` flag for neo4j-import make
>>>> internal ids and external ids match in my case?  (I understand this is an
>>>> implementation detail and not a user-facing property.)
>>>>
>>>> On Monday, June 15, 2015 at 12:07:56 PM UTC-7, Michael Hunger wrote:
>>>>>
>>>>> GraphDatabaseService#getNodeById(long id)
>>>>>
>>>>>
>>>>> takes Neo4j internal ids.
>>>>>
>>>>> Michael
>>>>>
>>>>> Am 15.06.2015 um 20:59 schrieb Zongheng Yang <[email protected]>:
>>>>>
>>>>> Hi Mattias,
>>>>>
>>>>> Thanks for looking into this.  I understand the difference between
>>>>> Neo4j internal ids vs. the ids supplied in the csv.
>>>>>
>>>>> However for say GraphDatabaseService#getNodeById(long id), does this
>>>>> function take the user-supplied ids or Neo4j's internal ids?
>>>>>
>>>>> If it is the former: then the conceptual mismatch doesn't fully
>>>>> explain the problem (e.g. I queried the nodes/edges using user-supplied
>>>>> ids, and the internal ids should not mess up with the query results).  If
>>>>> it is the latter, then for users programming using the Java Core API, how
>>>>> should they get these correct internal ids (they only know
>>>>> application-supplied ids).
>>>>>
>>>>> Best,
>>>>> Zongheng
>>>>>
>>>>> On Monday, June 15, 2015 at 5:23:24 AM UTC-7, Mattias Persson wrote:
>>>>>>
>>>>>> Hello again, I'm quite confident I know what's happening here. The
>>>>>> problem is the misconception that your INTEGER ids defined in the csv 
>>>>>> files
>>>>>> will map 1-to-1 to the neo4j node/relationship ids in the store. They 
>>>>>> will
>>>>>> actually match in most cases, but that's merely a coincidence.
>>>>>>
>>>>>> What you're seeing is the result of some parallelism happening in the
>>>>>> importer where batches of 10k nodes/relationships flows through different
>>>>>> steps, where some steps may execute multiple batches in parallel and
>>>>>> doesn't care if reordering happens. Ids are assigned at the end.
>>>>>>
>>>>>> You're looking at the ids and see that they mismatch, but if you look
>>>>>> at their data you should see that all relationships match the csv files. 
>>>>>> So
>>>>>> please disregard the seemingly close match of neo4j node/relationship ids
>>>>>> with the csv input ids as they are quite different in nature.
>>>>>>
>>>>>> On Thursday, June 11, 2015 at 11:32:55 AM UTC+2, Mattias Persson
>>>>>> wrote:
>>>>>>>
>>>>>>> Hi, I'm one of the main authors of the import tool and I find this
>>>>>>> issue quite interesting.
>>>>>>>
>>>>>>> Would you be able to share your dataset with me personally, for the
>>>>>>> single purpose of trying to find the root cause?
>>>>>>>
>>>>>>> On Friday, June 5, 2015 at 5:12:43 AM UTC+2, Zongheng Yang wrote:
>>>>>>>>
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> I'm using neo4j-import to import nodes and relationships from csv
>>>>>>>> files. Let's say node id 538398 has about 100 edges and
>>>>>>>>
>>>>>>>> 538398 -> 370047
>>>>>>>> 538398 -> 379981
>>>>>>>>
>>>>>>>> are just two of them.  After the import, the neo4j database
>>>>>>>> actually
>>>>>>>>
>>>>>>>> - *loses* these two edges
>>>>>>>> - instead *corrupts* the destination ids, as follows
>>>>>>>>
>>>>>>>>     538398 -> 380047
>>>>>>>>     538398 -> 389981
>>>>>>>>
>>>>>>>> - *keeps* all other outgoing edges of 538398 correct
>>>>>>>>
>>>>>>>> The problem seems to be non-deterministic: doing a `rm -rf dbPath`
>>>>>>>> and re-running neo4j-import seems to fix the issue, for this particular
>>>>>>>> node -- but I've not done extensive tests to see whether other nodes 
>>>>>>>> get
>>>>>>>> corrupted in this way.
>>>>>>>>
>>>>>>>> Has anyone seen this before? The graph has on the order of 1
>>>>>>>> million node, average degree 40.
>>>>>>>>
>>>>>>>> Zongheng
>>>>>>>>
>>>>>>>
>>>>> --
>>>>> 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 a topic in the
>> Google Groups "Neo4j" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/neo4j/5k0xY6B1vtA/unsubscribe.
>> To unsubscribe from this group and all its topics, 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 a topic in the
> Google Groups "Neo4j" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/neo4j/5k0xY6B1vtA/unsubscribe.
> To unsubscribe from this group and all its topics, 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