最近有人要求我将客户音乐数据库应用程序连接到Wikipedia。他想更新唱片目录的艺术家数据库,并更新每张专辑的曲目和单曲。他坚持使用维基百科。
我花了一些时间研究Wikimedia api,但是我对Wikipedia的结构并不熟悉,到目前为止还无法创建一组查询来获取我想要的东西。在客户数据库中,每个艺术家都有一个来自Wikidata的标识符字符串(类似于Q123)-我相信这可能是我的起点-使用Wikidata进入正确的Wikipedia页面。但是从那里,我迷路了。
是否有人对Wikipedia api有很好的了解,愿意为我提供有关如何获取此类特定信息的指导?
目前,正在建立对Wikidata的查询,因此尚无法通过官方API进行查询。但是,有一个名为Wikidata Query(文档)的工具可以执行此类操作。
以下是使用此查询的示例:CLAIM[31:(TREE[482994][][279])] AND CLAIM[175:392]
。它从482994(相册)开始查找具有279(子组)树中值为31(子集)的属性为31(实例)的对象,并具有值为392(鲍勃·迪伦)的属性175(执行者)。它返回相册的Wikidata ID,您可以依次在Wikidata API上查找标签。您只需更改表演者的价值即可获得任何艺术家的答案。
更新:不建议使用上面的工具,但是现在可以使用正式工具。这是用于相同结果的SPARQL代码:
SELECT ?album WHERE {
?album wdt:P31/wdt:P279* wd:Q482994 ;
wdt:P175 wd:Q392 .
}
该查询的短链接:https : //w.wiki/6tL
如果要添加相册的标签,则可以直接在查询中添加:
SELECT ?album ?albumLabel WHERE {
?album wdt:P31/wdt:P279* wd:Q482994 ;
wdt:P175 wd:Q392 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
该查询的短链接:https : //w.wiki/6tM
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句