2016-03-31 2 views
0

Привет, я пытаюсь создать базу данных графа, которая будет чем-то вроде социальной сети. Мое задание: могу ли я создавать узлы из файла csv с именем Messages.csv, а затем создавать отношения с пользователями используя Messages.csv?Импорт Neo4j для узлов и отношений

Вот мой первый импорт Заявление для создания пользователей:

USING PERIODIC COMMIT 
LOAD CSV FROM 'file:/Users/Oliver/Desktop/Assessment_CSV/Assessment_table_Users.csv' AS csvLineB 
CREATE (n:Users { 
    UserID: csvLineB[0], 
    Firstname: csvLineB[1], 
    Surname: csvLineB[2], 
    DOB: csvLineB[3], 
    Email: csvLineB[4], 
    Phone: csvLineB[5]}); 

я затем импортировать сообщения с помощью:

USING PERIODIC COMMIT 
LOAD CSV FROM 'file:/Users/Oliver/Desktop/Assessment_CSV/Assessment_table_Messages.csv' AS csvLineD 
CREATE (n:Message { 
    MessageID :csvLineD[0], 
    MessageContent:csvLineD[1]}); 

Все узлы отображаются правильно в этой точке.

Я то пытается создать связи из дополнительных полей в файле сообщений CSV они являются SenderID и RecipientID, которые соответствуют идента, однако, когда я запускаю следующее заявление он ничего не делает:

USING PERIODIC COMMIT 
LOAD CSV FROM 'file:/Users/Oliver/Desktop/Assessment_CSV/Assessment_table_Message.csv' AS csvLineE 
MATCH (sender:Users) 
WHERE sender.id = csvLineE[3] 
MATCH (receiver:Users) 
WHERE receiver.id = csvLineE[2] 
MATCH (msg:Message) 
WHERE msg.id = csvLineE[0] 
MERGE(sender)-[:SENT]->(msg)<-[:RECEIVED]-(receiver); 

Может ли кто-нибудь сообщить, что я делаю неправильно?

Любая помощь очень ценится.

ответ

0

Ваш третий запрос использует неправильные имена свойств для идентификаторов. Попробуйте следующее:

USING PERIODIC COMMIT 
LOAD CSV FROM 'file:/Users/Oliver/Desktop/Assessment_CSV/Assessment_table_Message.csv' AS csvLineE 
MATCH (sender:Users) 
WHERE sender.UserID = csvLineE[3] 
MATCH (receiver:Users) 
WHERE receiver.UserID = csvLineE[2] 
MATCH (msg:Message) 
WHERE msg.MessageID = csvLineE[0] 
MERGE(sender)-[:SENT]->(msg)<-[:RECEIVED]-(receiver); 
+0

Спасибо, что сработали, я не могу поверить, что пропустил что-то настолько простое. – randomer

Смежные вопросы