有没有人知道从Freebase数据转储中获取Actor ID的最佳方法,以及稍后从Freebase API获取IMDB ID和传记?
答案 0 :(得分:4)
演员将拥有类型/电影/演员,并在转储中看起来像这样:
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这样的编程语言,你可以进行初始搜索。
维基百科和IMDB ID存储为Freebase调用的密钥,看起来像这样(MusicBrainz&amp; 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上找到有关如何处理它们的文档。