[英]Loading data in Neo4j from csv
我正在迭代地從多個csv文件上傳節點和邊,每種節點類型一個。 加載節點效果很好,但是加載邊緣並不總是有效。 實際上,某些節點具有數字作為標識符-如果是這樣,則該類型的所有節點都具有數字-但會作為字符串加載,因此創建邊會失敗。 手動創建一條邊,並添加用雙引號引起來的標識符,效果很好。
如何在創建節點時強制LOAD CSV對這些標識符使用數字,或者強制LOAD CSV將標識符用雙引號引起來?
文章節點:
Type PMID ArticleTitle AbstractText Date Pages
Article 25358116 Synthesis of... Abstract 2014-10-30
Article 25358093 Putting theory... In this study... 2014-10-30 e1003910
發行節點:
Type Name Year Month Volume Issue
Issue J. Med. Chem., 2014 2014 Oct
Issue PLoS Comput. Biol., 2014, 10, 10 2014 Oct 10 10
Issue PLoS ONE, 2014, 9, 10 2014 9 10
邊緣:
Name PMID
J. Med. Chem., 2014 25358116
PLoS Comput. Biol., 2014, 10, 10 25358093
密碼命令:
CREATE INDEX ON :Article(PMID);
LOAD CSV WITH HEADERS FROM 'article.nodes' as csvLine FIELDTERMINATOR '\t' CREATE (:Article { PMID: toInt(csvLine.PMID), Title: csvLine.ArticleTitle, Date: csvLine.Date, Pages: csvLine.Pages, AbstractText: csvLine.Abstract }) return count(*);
CREATE INDEX ON :Journal(Abbreviate);
CREATE INDEX ON :Issue(Name);
LOAD CSV WITH HEADERS FROM 'issue.nodes' as csvLine FIELDTERMINATOR '\t' CREATE (:Issue { Name: csvLine.Name, Volume: csvLine.Volume, Issue: csvLine.Issue, Year: csvLine.Year, Month: csvLine.Month}) return count(*);
LOAD CSV WITH HEADERS FROM 'article.edges' as csvLine FIELDTERMINATOR '\t' MATCH (src:Issue { Name: csvLine.Name }), (tgt:Article { PMID: toInt(csvLine.PMID) }) CREATE (src) -[:hasArticle]-> (tgt) return count(*);
您可以將toInt(csvline.id)用於:
http://neo4j.com/docs/stable/query-functions-scalar.html#functions-toint
收到文件后,TSV出現格式問題。
在neo4j中整體顯示csvLine時,問題名稱為null,因此我修改了格式並使用Google驅動器重新導出了文件。
您也可以在CsvLINT上檢查錯誤http://csvlint.io/validation/545681456373761303020000
LOAD CSV WITH HEADERS FROM 'file:///Users/ikwattro/dev/playbox/pierre/article.edges' as csvLine FIELDTERMINATOR '\t' WITH csvLine LIMIT 10 RETURN csvLine
I get this
Name PMID J. Med. Chem., 2014 25358116
Name PMID PLoS Comput. Biol., 2014, 10, 10
Name PMID J. Med. Chem., 2014
Name PMID J. Med. Chem., 2014
Name And PMID Are under the same key
克里斯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.