我正在使用 Freebase 为我的网站获取所有电影,但它很快就会被关闭。所以我在寻找另一个免费的电影数据库并发现了维基数据。说实话,如何查询所有电影太复杂了。
所以我想你们可以帮助我获取维基数据中的所有电影。将来我还想加入电视节目和连续剧。
编程语言并不重要,我想使用带有链接的网络查询。
您可以查找所有属于 film 实例的实体,在 Wikidata 中被翻译为:
P31 https://www.wikidata.org/wiki/Property:P31(实例)->Q11424 https://www.wikidata.org/wiki/Q11424 (film)
目前,执行此查询的最佳方法是使用 wdq.wmflabs.org API,其中此查询翻译为:http://wdq.wmflabs.org/api?q=claim[31:11424]
(避免在浏览器中进行此查询,因为它可能会因 )而导致崩溃。在我写这篇文章的时候,这个请求以数字 id 的形式返回 157038 个项目(例如:125
)。要获取维基数据 ID,只需添加前导Q
-> Q125
.
要从所有维基数据 ID 获取标签和数据,请使用维基数据 APIwbgetentities
行动:https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q180736&format=json&languages=en
。
但要注意每个查询 50 个实体的限制
[更新] 维基数据现在提供SPARQL https://en.wikipedia.org/wiki/Sparql端点:SPARQL 中的相同查询 https://query.wikidata.org/#PREFIX%20wikibase%3A%20%3Chttp%3A%2F%2Fwikiba.se%2Fontology%23%3E%0APREFIX%20wd%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fentity%2F%3E%20%0APREFIX%20wdt%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0APREFIX%20p%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2F%3E%0APREFIX%20v%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fstatement%2F%3E%0ASELECT%20%3Fq%20WHERE%20%7B%0A%20%20%3Fq%20wdt%3AP31%20wd%3AQ11424%0A%7D甚至这个相同的查询,但还包括电影的子类 https://query.wikidata.org/#PREFIX%20wd%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fentity%2F%3E%20%0APREFIX%20wdt%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0A%0ASELECT%20%3Fq%20WHERE%20%7B%0A%20%20%3Fq%20wdt%3AP31%2Fwdt%3AP279*%20wd%3AQ11424%0A%7D
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)