Java Neo4j:创建类型1和类型2的各种节点,将这两种类型的节点与2种不同的关系关联起来

Java Neo4j:创建类型1和类型2的各种节点,将这两种类型的节点与2种不同的关系关联起来,java,neo4j,batch-processing,Java,Neo4j,Batch Processing,我正在使用Neo4j来存储数据 我有两类GDP和健康数据。每个数据都有一组国家(比如20个左右)和一组年份(比如1990-2013年)。现在我想将每个国家存储为唯一节点,标签为国家名称,每年存储为唯一节点,标签为年份。国家和年份通过上述GDP和健康的关系相互关联(映射) 我已经在2个不同的SortedSet(java代码)中收集了国家名称和年份 我不确定是否最好将每个国家和年份逐个添加为graphDB.createNode(),因为我认为这太麻烦了,无法创建并定义关系,或者是否最好一次性批量插入

我正在使用Neo4j来存储数据

我有两类GDP和健康数据。每个数据都有一组国家(比如20个左右)和一组年份(比如1990-2013年)。现在我想将每个国家存储为唯一节点,标签为国家名称,每年存储为唯一节点,标签为年份。国家和年份通过上述GDP和健康的关系相互关联(映射)

我已经在2个不同的SortedSet(java代码)中收集了国家名称和年份

我不确定是否最好将每个国家和年份逐个添加为graphDB.createNode(),因为我认为这太麻烦了,无法创建并定义关系,或者是否最好一次性批量插入所有这些国家和年份,类似地,一次性批量插入年份。但是,当我批量插入所有国家和年份时,我将如何定义它们之间的2种关系

我想知道是否有人有一段java代码,或者就如何找到数据存储的最佳解决方案提供建议

我必须指出,并非所有国家都有任何特定关系的年度数据

谢谢,
黑兹尔

我在某种程度上遇到过这样的情况。我有一些不同类型的节点

x、 y,z

x和它对应的y或z之间有关系。我只是使用BatchInserter插入所有类型的所有节点,然后通过查找必须连接的节点的ID进行一些sql查询,以获取节点之间的关系

因此,我认为您可以通过循环遍历您拥有的两个集合来插入年份和国家/地区的所有节点,之后您可能需要查询或其他任何方式来获取这些节点之间的关系。

有关将数据导入Neo4j的指南和其他工具,请参阅(您可以“批量插入”节点和关系,但不确定您的犹豫是什么)

我不知道你所说的“麻烦”是什么意思。如果你使用上面的批处理工具,你可以先处理所有节点,然后处理所有关系,但是如果你使用Java嵌入式API,就没有必要这样做。如果你担心重复,f.I.当你在
SortedSet
中迭代时,首先将节点作为“主题”出现的情况>然后,作为关系的“对象”或结束节点,您可以查看一下。这将允许您按照给定数据的方便顺序构建图形,而无需担心创建重复节点–只需创建每个节点、其关系的远程节点以及这些节点之间的关系。如果节点已经存在它们将被更新,而不是复制。这可能是最简单的方法,如果您遇到问题,请尝试并再次询问,具体一点