在我几年前开展的一个项目中,我正在构建一组关于Freebase电影的数据.一个简单的shell脚本下载了"film.tsv"文件(来自http://download.freebase.com/datadumps/latest/browse/film/film.tsv).然后我使用该文件中的"id"字段为每部电影构建必要的MQL请求(检索我感兴趣的其他属性,例如演员,流派).
在看了今天的开发人员指南之后,我意识到Freebase已经发生了相当大的变化,我发现之前使用的转储文件已经不再可用了.我还看到转储文件格式现在是RDF,据我所知,转储文件现在只能作为单个22GB存档使用.
如果可能的话,我想避免每次我想重建我的数据集时下载22G文件,那么是否可以再检索单个转储文件,例如film.tsv文件?
如果没有,是否有其他方法可以获得完整的电影ID列表?
目前没有计划替换 film.tsv。您可以从RDF 转储中获取当前的电影 ID 列表,如下所示:
zgrep $'\ttype\.object\.type\tfilm\.film' freebase-rdf.gz
Run Code Online (Sandbox Code Playgroud)
然后,当您需要更新列表时,您可以查询MQL Read API以获取自上次更新以来添加的新电影列表:
[{
"type": "/film/film",
"id": null,
"name": null,
"timestamp": null,
"timestamp>=": "2013-12",
"sort": "-timestamp"
}]
Run Code Online (Sandbox Code Playgroud)
由于 API 一次返回 200 个结果,因此您需要使用游标来获取完整的结果列表。
| 归档时间: |
|
| 查看次数: |
1108 次 |
| 最近记录: |