无法合并节点错误: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
版本。任何帮助将非常感激。
- 更新到2.1.5
- 阅读如何检查your data is read正确这篇博客。
- 此外,您可能会检查您没有Windows换行符或UTF 2字节文件前导码
- 检查您是否具有索引:生物体(名称)和:酶(名称)和:主题(名称)在地方
一般来说试试这个并检查输出:
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个关系”。我在这个问题中包含了一个链接到我的'.csv'文件。 。你可以看看他们。 AFAIK他们是正确的。 – letsc 2014-10-10 23:24:40
在我的情况的原因是在标题行的空间。例如,一个CVS
文件:
Name, Surname, City
Jan, Kowalski, Gdansk
如此,Name
是进口罚款,但Surname
无法识别(为空), 因为是逗号和Surname
等之间的空间中取出后,它开始加工。
Hello letsc,我也会遇到这种错误。为我解决的是我插入了'FIELDTERMINATOR',''。希望它能帮助你解决问题。 – Gondil 2015-04-14 13:54:58