我有2个CSV文件,想将它们转换成Neo4j数据库。它们的格式如下:
first file:
name,enzyme
Aminomonas paucivorans,M1.Apa12260I
Aminomonas paucivorans,M2.Apa12260I
Bacillus cellulosilyticus,M1.BceNI
Bacillus cellulosilyticus,M2.BceNI
second file
name,motif
Aminomonas paucivorans,GGAGNNNNNGGC
Aminomonas paucivorans,GGAGNNNNNGGC
Bacillus cellulosilyticus,CCCNNNNNCTC
正如你所看到的,共同因素是生物名称和。每个生物将有几种酶,每种酶将有1个基序。基序可以在酶之间相同。我使用以下语句创建我的数据库:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:C:/Users/Desktop.n_e.csv" AS csvLine
MATCH (o:Organism { name: csvLine.name}),(e:Enzyme { name: csvLine.enzyme})
CREATE (o)-[:has_enzyme]->(e)
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:C:/Users/Desktop/n_m.csv" AS csvLine
MATCH (o:Organism { name: csvLine.name}),(m:Motif { name: csvLine.motif})
CREATE (o)-[:has_motif]->(m)
然而我一直收到错误信息
Cannot merge node using null property value for name (Failure when processing URL 'file:C:/Users/Desktop/n_e.csv' on line 2. No rows seem to have been committed. Note that this information might not be accurate.)
。我在谷歌上搜寻了这个问题,但没有一个可行的解决方案。我确保我的CSV
是“普通” csv(没有空格,只有逗号分隔),但我仍然遇到这个问题。我正在使用Neo4j的2.1.3
版本。任何帮助都将不胜感激。文件1:n_e.csv 文件2:n_m.csv
FIELDTERMINATOR ','
。希望它能解决你的问题。 - Gondil