2014-12-03 4 views
1

Я пытаюсь загрузить следующую CSV (https://www.dropbox.com/s/95j774tg13qsdxr/out.csv?dl=0 файл), чтобы Neo4j следующей командойЗагрузка CSV в 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 "ранее загруженного CSV.

я впервые загружен 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 столбцы присутствуют и некоторые из этих идентификаторов являются одинаковыми. Хотя некоторые из Uniprot_ID являются общими, neo4j не возвращает никаких строк.

Любые решения Заранее спасибо

Паван Кумар Alluri

+0

вы говорите, что загрузка из 'out.csv' не возвращает ни одной строки? Можете ли вы показать нам, что запрос Cypher? – cybersam

+0

вы можете поделиться запросом, который вы запускаете в конце? –

+0

Вероятно, просто пропущенный/верхний/нижний регистр имени или метки. –

ответ

0

Просто несколько советов:

  • использовать только одну метку и одно свойство для MERGE
  • установить другие с ON CREATE SET ...
  • попытайтесь создать узлы и отдельно отложить, иначе вы могли бы get into memory issues
  • вы должны быть совместимы с правописанием и верхним/нижним регистром свойств и меток, в противном случае вы будете часами в отладке (этикетки, отн-типы и свойства-имена чувствительны к регистру)
  • вы, вероятно, не необходимо объединить для отношений, создания должны делать хорошо

для инструкции:

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); 
Смежные вопросы