As discussed on the Slack channel, the problem does seem to go away with a brand new clean instance of neo4j.
create (:Chromosome { name: line.`Chromosome/scaffold name`});
create index on :Chromosome(name);
using periodic commit 1000
create ( :Gene { id: line.`Gene stable ID`, name: line.`Gene name`, description: line.`Gene description`, type: line.`Gene type`});
create index on :Gene(id);
using periodic commit 1000
match (chromosome:Chromosome {name: line.`Chromosome/scaffold name`})
match (gene:Gene {id: line.`Gene stable ID`})
merge (gene)-[:MAPS_TO {start: toInteger(line.`Gene start (bp)`), end: toInteger(line.`Gene end (bp)`), strand: toInteger(line.Strand)}]->(chromosome);
It’s the last one that takes the time,
File parameters are:
chromosomes.txt - 33 lines, 112bytes
genes.txt - 17718 lines, 1.4Mbytes
genes-to-chromosomes.txt - 17718 lines, 720Kbytes
So not a significant data set.
Output of :schema is…
Indexes
ON :Chromosome(name) ONLINE
ON :Gene(id) ONLINE
ON :Transcript(id) ONLINE
No constraints