在不知道节点ID的情况下在Neo4j中导入大数据

时间:2013-04-12 12:34:22

标签: neo4j

我有一个女巫的问题是在neo4j db中插入一些数据的最佳方法。 我有一个包含大量电影信息的文件,每部电影都有不同的ID,如“tt0202025”。 我还有一个带有演员信息的文件,每个人都有一个像“mm2183122”的id 我有另一个文件,描述了演员所属的电影。 mm2183122 | tt0202025,tt0204548

我找到了csv的一些内容,比如插入,但由于数据大小,我无法在节点之间创建关系文件。

我是否必须首先添加电影节点和演员节点以及它们之间的关系?如何知道为每个节点创建哪个节点id来创建关系?数据很大。

我也读过Batch Insertion但我无法理解它是如何工作的,所以我可以在java中编写我的代码。

希望有人能指导我!

提前致谢!

2 个答案:

答案 0 :(得分:2)

正如您所指出的,最简单的解决方案是插入电影节点和actor节点,然后创建关系。

您可以使用“mm2183122”和“tt0202025”作为节点上的属性来跟踪节点:例如,您在节点上有一个“file_id”属性,您可以在创建节点时对其进行索引并在需要时进行查询建立一种关系。我会使用唯一索引来确保如果多次插入节点,则不会复制节点。对于REST API,您可以在此处获得文档:http://docs.neo4j.org/chunked/milestone/rest-api-unique-indexes.html

Cypher还允许您创建唯一的节点。

答案 1 :(得分:0)

您可以查看Talend Open Studio for Big Data - 它有一个Neo4j连接器。学习曲线非常陡峭但值得。