我目前正在为我的应用程序使用freebase数据...只想要电影,电视等领域的一些信息。发现将来不支持tsv转储并且不完整。四转储具有所需的所有信息。问题是更新数据库,应该再次下载整个转储并与已下载和处理的数据进行交叉检查,然后进行更新。有没有其他方法可以更新数据或获取增量更新?
答案 0 :(得分:1)
您可以在您感兴趣的域中查询自上次更新以来发生更改的内容,但这取决于您可能遇到配额问题的更改数量。
没有生成增量转储,所以你自己使用两个完整的转储生成了一个diff,但是特别简单,因为新的RDF转储似乎按主题MID排序,而不像quad转储。
答案 1 :(得分:1)
正如Tom指出的那样,新的RDF转储按主题排序,这允许您通过迭代文件来有效地区分整个数据集。基本的伪代码如下:
此算法以线性时间运行,内存使用率极低,因此您可以轻松处理本地计算机上的数GB文件。
一旦有了RDF转储的差异,就需要编写一些代码来将补丁应用到现有数据库。由于修补程序的排序方式,在尝试添加或删除事实之前,您始终可以依赖数据库中存在的主题。