Загрузить CSV-файл и создать узлы и релизы - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть CSV-файл, как в примере ниже, и я хочу импортировать его в Neo4j и создать узлы и отношения.

"N_ID","Name","Relationship","A_ID","Address"
"N_01","John Doe","resident","A_01","1138  Mapleview Drive"
"N_02","Jane Doe","resident","A_01","1138  Mapleview Drive"
"N_03","Randall L Russo","visitor","A_02","866  Sweetwood Drive"
"N_04","Sam B Haley","resident","A_03","152  Point Street"
"N_01","John Doe","mailing address","A_04",3490  Horizon Circle"

Я могу создавать узлы, используя приведенный ниже код, но я неНе знаю, как создать отношения на основе файла CSV.

using PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM
‘File://contacts.csv' AS line
CREATE (:Person {ID:line.N_ID, name:line.Name})

Я пробовал это, но это не работает.

CREATE (:Person {N_ID:line.N_ID, Name:line.Name})-[:line.Relationship]-> (:Address {A_ID:line.A_ID, Address:line.Address})

Пожалуйста, потерпите меня, я новичок в Neo4j.

1 Ответ

0 голосов
/ 02 февраля 2019

Установите apoc plugin и попробуйте этот запрос:

USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file://contacts.csv' AS line
MERGE (p1:Person {N_ID:line.N_ID})
ON CREATE SET p1.Name=line.Name
MERGE (a1:Address {A_ID:line.A_ID})
ON CREATE SET a1.Address=line.Address
WITH a1,p1,line
CALL apoc.merge.relationship(p1,line.Relationship,{},{},a1) YIELD rel
RETURN count(*);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...