Yes, but in at my example, the performance dramatically changes with the direction of the relationship. This occurs when both Entities exist or not.
Do you know why I am seeing this behavior ? On Saturday, 27 May 2017 08:51:34 UTC+1, Michael Hunger wrote: > I presume you have a constraint on :Entity(name) > > Merge does match-or-create > > So it tries to find first and otherwise create > > Von meinem iPhone gesendet > > Am 26.05.2017 um 12:16 schrieb unrealadmin23 via Neo4j < > [email protected] <javascript:>>: > > John, Michael, > > Thank you for your suggestions. > > Interestingly I found my problem. Consider these 2 examples: > > neo4j> MERGE (node_c:Entity { name:'spumante cricova' }) MERGE > (node_a:Entity { name:'romainian' }) WITH node_a, node_c CREATE UNIQUE > (node_a)-[:language]->(node_c); > 0 rows available after 2160 ms, consumed after another 0 ms > > neo4j> MERGE (node_c:Entity { name:'spumante cricova' }) MERGE > (node_a:Entity { name:'romainian' }) WITH node_a, node_c CREATE UNIQUE > (node_a)<-[:language]-(node_c); > 0 rows available after 28 ms, consumed after another 0 ms > > Both entries may either need to be created or may already exist - it > doesn't really matter. Either way I get consistent timings. > > Why is one much faster than the other ? > > Wayne > > On Friday, 26 May 2017 00:44:43 UTC+1, John Singer wrote: >> >> Wayne - I have a python program that will automatically generate cypher >> merges reading data from CSV files. I think I can beat your ingest rate >> below. If you're interested contact me at www.singerlinks.com (see the >> contact page) >> >> On Wednesday, May 24, 2017 at 6:54:18 AM UTC-5, [email protected] >> wrote: >>> >>> Hi Michael, >>> >>> Some of my work flows create very large amounts of cypher merge and >>> create unique operations - potentially millions of lines. >>> I break the master file into 50 smaller files, and cat these >>> concurrently to cypher-shell. Actually its not quite that easy as a create >>> smaller buckets before cat'ing them into cypher-shell due to limitations >>> of the shell's buffering. >>> I have good reason for using this approach, as the task is additive >>> with periodic updates and many cypher lines are created 'on the fly' due to >>> data dependencies. >>> >>> I am able to achieve an ingest rate of about about 500 lines of cypher >>> per sec using this approach - but its is still not as fast as I would like. >>> Are there any tweaks that might improve this approach ? >>> >>> Thanks, Wayne >>> >> -- > 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] <javascript:>. > 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.
