2015-01-04 2 views
2

Итак, я пытаюсь перейти из базы данных Mysql в базу данных neo4j. Для новой базы данных neo4j я планировал функцию подачи новостей, как описано здесь http://neo4j.com/docs/stable/cypher-cookbook-newsfeed.html Этот механизм, очевидно, отличается от mysql, где новостные ленты представляют собой всего лишь ряд строк. Итак, есть способ быстро импортировать строки mysql в neo4j в формате -[status_update]->()-[next]->()-? На данный момент у меня есть базы данных MySQL, который выглядит следующим образом:Обновления статуса импорта Neo4j CSV

user table 
+-------+--------------+ 
| id | username  | 
+-------+--------------+ 
| 1  | pewpewlasers | 
+-------+--------------+ 

posts table 
+-------+----------+------------+ 
| id | user_id | status  | 
+-------+----------+------------+ 
| 1  | 1  | something | 
+-------+----------+------------+ 
| 2  | 1  | new update | 
+-------+----------+------------+ 

ответ

2

Если вы выводите его как томами CSV можно использовать LOAD CSV так:

USING PERIODIC COMMIT 1000 
LOAD CSV WITH HEADERS FROM "file:///path/to/file/user.csv" AS line 
CREATE (:User {id: toInt(line.id), username: line.username}); 

USING PERIODIC COMMIT 1000 
LOAD CSV WITH HEADERS FROM "file:///path/to/file/posts.csv" AS line 
CREATE (:Post {id: toInt(line.id), line.status}); 

USING PERIODIC COMMIT 1000 
LOAD CSV WITH HEADERS FROM "file:///path/to/file/posts.csv" AS line 
MATCH (user:User {id: toInt(line.user_id)}) 
MATCH (post:Post {id: toInt(line.id)}) 
CREATE user-[:status_update]->post; 

USING PERIODIC COMMIT 1000 
LOAD CSV WITH HEADERS FROM "file:///path/to/file/posts.csv" AS line 
MATCH 
    (post:Post {id: toInt(line.id)}) 
    (previous_post:Post {id: toInt(line.id) - 1}) 
CREATE previous_post-[:next]->post; 

Вы могли бы объединить некоторые из них, но я всегда осторожен дробить запросы из-за нетерпеливый вопрос, упомянутым здесь:

http://www.markhneedham.com/blog/2014/10/23/neo4j-cypher-avoiding-the-eager/

+0

бы изменить несколько вещей, но это идея, да. Благодаря! – pewpewlasers

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