我有一个在Neo4J中编写查询的任务,但提供的数据库是SAKILA.SQL。
如何将其加载到Neo4j中?
我试图找到答案,但没有运气!
答案 0 :(得分: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/
答案 1 :(得分:1)
所以你需要先导入(即运行所有这些插入语句)到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导入脚本,我们可以向您展示如何进行更完整的翻译。