有人知道从Freebase数据转储获取Actor Id的最佳方法,以及以后从Freebase API获取IMDB id和传记的最佳方法吗?
演员将具有类型/电影/演员,并且在转储中如下所示:
ns:m.010q36 rdf:type ns:film.actor.
你可以用一个简单的grep:在几分钟内从压缩转储中找到它们
zgrep $'rdf:typetns: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这样的编程语言,你可以滚动初始搜索。
维基百科和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".
密钥可能是编码的(就像上面的维基百科密钥一样)。你可以在Freebase维基上找到关于如何处理它们的文档。