2

有谁知道从 Freebase 数据转储中获取 Actor Id 的最佳方法,然后再从 Freebase API 中获取 IMDB id 和传记?

4

1 回答 1

4

Actors 将具有 /film/actor 类型,并且在转储中看起来像这样:

ns:m.010q36     rdf:type        ns:film.actor.

您可以使用简单的 grep 在几分钟内从压缩转储中找到它们:

zgrep $'rdf:type\tns:film.actor.' freebase-rdf-<date of dump>.gz | cut -f 1 | cut -d ':' -f 2 > actor-mids.txt

这将以m.010q36代表 MID的形式生成 MID 列表/m/010q36

使用 MID 列表,在第一列中查找具有该 MID 的所有行,在第二列中查找您想要的属性之一。您可以使用 Python、grep 或您选择的工具/语言来执行此操作。当然,如果您使用的是 Python 之类的编程语言,则可以滚动初始搜索。

Wikipedia 和 IMDB ID 存储为 Freebase 所称的密钥,如下所示(MusicBrainz 和 Netflix 也包括在内):

ns:m.010q36     ns:type.object.key      "/wikipedia/en/Mr$002ERodgers".
ns:m.010q36     ns:type.object.key      "/authority/imdb/name/nm0736872".
ns:m.010q36     ns:type.object.key      "/authority/musicbrainz/87467525-3724-412d-ad3e-595ecb6a3bfd".
ns:m.010q36     ns:type.object.key      "/authority/netflix/role/30006685".

可以对密钥进行编码(如上面的 Wikipedia 密钥)。您可以在Freebase wiki上找到有关如何处理它们的文档。

于 2013-07-11T15:19:48.627 回答