【发布时间】:2014-09-29 00:26:39
【问题描述】:
我有 2 个 CSV 文件,我想将它们转换为 Neo4j 数据库。它们看起来像这样:
第一个文件:
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
如您所见,共同因素是有机体的Name 和。每个Organism 将有几个Enzymes,每个Enzyme 将有1 个Motif。 Motifs 可以在酶之间相同。我使用以下语句来创建我的数据库:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file1.csv" AS csvLine
MATCH (o:Organism { name: csvLine.name}),(e:Enzyme { name: csvLine.enzyme})
CREATE (o)-[:has_enzyme]->(e) //or maybe CREATE UNIQUE?
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file2.csv" AS csvLine
MATCH (o:Organism { name: csvLine.name}),(m:Motif { name: csvLine.motif})
CREATE (o)-[:has_motif]->(m) //or maybe CREATE UNIQUE?
这在USING PERIODIC COMMIT 的第一行给了我错误,上面写着Invalid input 'S': expected。如果我摆脱 ti,我得到的下一个错误是 WITH is required between CREATE and LOAD CSV (line 6, column 1)
"MATCH (o:Organism { name: csvLine.name}),(m:Motif { name: csvLine.motif})" 。我用谷歌搜索了这个问题,这让我找到了这个 answer 。我尝试了给出的答案(刷新浏览器缓存),但问题仍然存在。我在这里做错了什么?查询是否正确?这个问题还有另一种解决方案吗?任何帮助将不胜感激
【问题讨论】:
-
你用的是什么版本的 Neo4j?
-
我使用的是
2.1.3版本