无法合并节点错误:Neo4j

问题描述:

我有2个CSV文件,我想转换成Neo4j数据库。他们看起来像这样:无法合并节点错误: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 

正如你可以看到的共同因素是生物体的名称和。每种有机体都会有一些酶,每种酶都会有一种主题。各种酶的基元可以相同。我用以下语句创建我的数据库:

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.)。我GOOGLE了这个问题,但没有得到任何工作解决方案。我确定我的CSV是“香草”csv(没有空格,只有逗号分隔)。但我一直在收到这个问题。我使用的是Neo4j的2.1.3版本。任何帮助将非常感激。

文件1:n_e.csv 文件2:n_m.csv

+0

Hello letsc,我也会遇到这种错误。为我解决的是我插入了'FIELDTERMINATOR',''。希望它能帮助你解决问题。 – Gondil 2015-04-14 13:54:58

  1. 更新到2.1.5
  2. 阅读如何检查your data is read正确这篇博客。
  3. 此外,您可能会检查您没有Windows换行符或UTF 2字节文件前导码
  4. 检查您是否具有索引:生物体(名称)和:酶(名称)和:主题(名称)在地方

一般来说试试这个并检查输出:

LOAD CSV WITH HEADERS FROM "file:C:/Users/Desktop.n_e.csv" AS csvLine 
RETURN csvLine 
LIMIT 5 

LOAD CSV WITH HEADERS FROM "file:C:/Users/Desktop.n_e.csv" AS csvLine 
RETURN csvLine.name,csvLine.enzyme 
LIMIT 5 
+0

我确实尝试过。它执行任何错误,但结果显示为“显示0个节点,0个关系”。我在这个问题中包含了一个链接到我的'.csv'文件。 。你可以看看他们。 AFAIK他们是正确的。 – letsc 2014-10-10 23:24:40

在我的情况的原因是在标题行的空间。例如,一个CVS文件:

Name, Surname, City 
Jan, Kowalski, Gdansk 

如此,Name是进口罚款,但Surname无法识别(为空), 因为是逗号和Surname等之间的空间中取出后,它开始加工。