【问题标题】:How to load a sql database[sakila] into Neo4j?如何将 sql 数据库 [sakila] 加载到 Neo4j 中?
【发布时间】:2014-11-14 13:57:04
【问题描述】:

我的任务是在 Neo4J 中编写查询,但提供的数据库是 SAKILA.SQL。

如何将其加载到 Neo4j 中?

我试图为此找到答案,但没有运气!

【问题讨论】:

    标签: mysql database neo4j


    【解决方案1】:

    也许你可以分享你的sql?

    最简单的方法是将其插入关系数据库,将表格内容转储为 CSV,然后使用 LOAD CSV 将数据导入 Neo4j。见:http://neo4j.com/developer/guide-importing-data-and-etl/

    见:http://neo4j.com/docs/stable/query-load-csv.html

    有关 Cypher 的详细信息,请参阅:http://neo4j.com/developer/cypher/

    【讨论】:

    • 插入客户价值 (4,2,'BARBARA','JONES','BARBARA.JONES@sakilacustomer.org',8,1,'2006-02-14 22:04:36 ','2006-02-15 04:57:20'),(7,1,'MARIA','MILLER','MARIA.MILLER@sakilacustomer.org',11,1,'2006-02-14 22 :04:36','2006-02-15 04:57:20'),(8,2,'SUSAN','WILSON','SUSAN.WILSON@sakilacustomer.org',12,1,'2006- 02-14 22:04:36','2006-02-15 04:57:20'),(9,2,'MARGARET','MOORE','MARGARET.MOORE@sakilacustomer.org',13,1 ,'2006-02-14 22:04:36','2006-02-15 04:57:20'),
    • 如你所见,有逗号也有括号。如何在 neo4j 上加载这样的文件?它甚至不是一个合适的 csv 文件。 P.S:文件扩展名是.sql
    【解决方案2】:

    因此,您需要先将(即运行所有这些插入语句)导入 MySQL,然后导出为 Neo4j 可以使用的 CSV 文件。

    在 Michael 发布的示例中,我们使用 PostgresSQL 的“COPY”命令导出 CSV 文件。在 MySQL 中,您有一个稍微不同的命令,如 over here 所述。

    你会有类似的东西:

    SELECT * from customer
    INTO OUTFILE '/tmp/customers.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    

    然后在 Neo4j 中你会有这样的查询:

    LOAD CSV WITH HEADERS FROM 'file:/tmp/customers.csv' AS line
    MERGE (c:Customer {id: c.id})
    ON CREATE SET c.name = line.name
    

    等等。

    然后您可以执行类似的操作来提取其他表并使用 MERGE 命令在不同节点之间创建适当的关系。

    如果您共享所有 MySQL 导入脚本,我们可以向您展示如何进行更完整的翻译。

    【讨论】:

    • 我正在从我的计算机(E 驱动器)导入一个 actor.csv 文件,如下所示: LOAD CSV WITH HEADERS FROM "E/CSV/actor.csv" AS row CREATE (:Actor {actor_id: row. actor_id,first_name:row.first_name,last_name:row.last_name,last_update:row.last_update});但它说:“指定的 URL 无效(无协议:E/CSV/actor.csv)”
    • 试试这个: LOAD CSV WITH HEADERS FROM "file:/E:/CSV/actor.csv" AS row CREATE (:Actor {actor_id: row.actor_id, first_name: row.first_name, last_name: row.last_name, last_update: row.last_update})
    猜你喜欢
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 2019-01-16
    • 2015-12-31
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    相关资源
    最近更新 更多