簡體   English   中英

在neo4j中上傳CSV

[英]Uploading CSV in neo4j

我正在嘗試通過以下命令將以下csv( https://www.dropbox.com/s/95j774tg13qsdxr/out.csv?dl=0 )文件上傳到neo4j

LOAD CSV WITH HEADERS FROM
  "file:/home/pavan637/Neo4jDemo/out.csv"
  AS csvimport
match (uniprotid:UniprotID{Uniprotid: csvimport.Uniprot_ID})

merge (Prokaryotes_Proteins: Prokaryotes_Proteins{UniprotID: csvimport.DBUni, ProteinID: csvimport.ProteinID, IdentityPercentage: csvimport.IdentityPercentage, AlignedLength:csvimport.al, Mismatches:csvimport.mm, QueryStart:csvimport.qs, QueryEnd: csvimport.qe, SubjectStrat: csvimport.ss, SubjectEnd: csvimport.se, Evalue: csvimport.evalue, BitScore: csvimport.bs})

merge (uniprotid)-[:BlastResults]->(Prokaryotes_Proteins)

為了與先前加載的CSV的“ Uniprot_ID”匹配,我在LOAD CSV命令中使用了“ match”命令。

我首先用以下密碼加載了ReactomeDB.csv( https://www.dropbox.com/s/9e5m1629p3pi3m5/Reactomesample.csv?dl=0

    LOAD CSV WITH HEADERS FROM
  "file:/home/pavan637/Neo4jDemo/Reactomesample.csv"
  AS csvimport
merge (uniprotid:UniprotID{Uniprotid: csvimport.Uniprot_ID})

merge (reactionname: ReactionName{ReactionName: csvimport.ReactionName, ReactomeID: csvimport.ReactomeID})

merge (uniprotid)-[:ReactionInformation]->(reactionname)

成功進入neo4j。

稍后我上傳out.csv

在這兩個CSV文件中,均顯示Uniprot_ID列,其中一些ID相同。 盡管一些Uniprot_ID很常見,但neo4j不返回任何行。

任何解決方案預先感謝

帕萬·庫瑪·阿魯里

幾點提示:

  • 僅對MERGE使用ONE標簽和ONE屬性
  • ON CREATE SET ...設置其他人ON CREATE SET ...
  • 嘗試分別創建節點和關聯,否則可能會遇到內存問題
  • 您應該與拼寫以及屬性和標簽的大寫/小寫字母保持一致,否則,您將花費數小時進行調試(標簽,rel類型和屬性名稱區分大小寫)
  • 您可能不需要合並關系,創建應該很好

您的聲明:

CREATE CONSTRAINT ON (up:UniprotID) assert pp.Uniprotid is unique;
CREATE CONSTRAINT ON (pp:Prokaryotes_Proteins) assert pp.UniprotID is unique;

USING PERIODIC COMMIT 10000
LOAD CSV WITH HEADERS FROM "file:/home/pavan637/Neo4jDemo/out.csv" AS csvimport
merge (pp: Prokaryotes_Proteins {UniprotID: csvimport.DBUni})
  ON CREATE SET pp.ProteinID=csvimport.ProteinID, 
                pp.IdentityPercentage=csvimport.IdentityPercentage, ...
;

LOAD CSV WITH HEADERS FROM "file:/home/pavan637/Neo4jDemo/out.csv" AS csvimport
match (uniprotid:UniprotID{Uniprotid: csvimport.Uniprot_ID})
match (pp: Prokaryotes_Proteins {UniprotID: csvimport.DBUni})
merge (uniprotid)-[:BlastResults]->(Prokaryotes_Proteins);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM