我是第一次使用neo4j和Ruby的neography。我的数据存储在csv文件中。我可以通过主文件成功地填充数据库,即创建所有节点。因此,对于每个csv文件(这里是user.csv),我正在执行以下操作 -
def create_person(name, id)
Neography::Node.create("name" => name, "id" => id)
end
CSV.foreach('user.csv', :headers => true) do |row|
id = row[0].to_i()
name = row[1]
$persons[id] = create_person(name, id)
end
同样适用于其他文件。现在有两个问题。首先,如果我的文件非常小,则可以正常运行,但是当文件稍微大一点时,我会遇到问题(我正在处理4个1MB的文件)-
SocketError: Too many open files (http://localhost:7474)
另一个问题是我不想每次运行这个Ruby文件时都执行这个操作(填充数据库)。我想仅仅填充一次数据,然后不再触碰数据库。之后我只想对它运行查询。请问有人可以告诉我如何填充并保存它吗?然后当我需要使用它时如何加载它。谢谢。
end
,这不会关闭文件吗? - theharshest