我想按自由文本或类别查询Wikidata,以返回具有相应Wikipedia页面的实体。
对于每个页面(或所选页面),我想获取所有具有相应维基百科文章的链接的wikidata实体。
请注意:
- 对于每个维基百科页面和链接页面,我想获取相应的Wikidata ID
- 链接的Wikidata实体可能存在于其他Wikipedia上,不一定以查询的语言存在
(例如,“法语历史”页面可以以多种语言提供;我可能只有法语链接页面,而其他语言则可能是其他链接)。
我无法弄清楚维基百科中对应于哪个Wikidata API,查询链接的文章以及如何查询甚至超出所选语言的链接页面。
我看着:
https://www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manual/MWAPI
https://stackoverflow.com/a/57983365/305883
https://www.mediawiki.org/wiki/API:Links
例如,我可以从以下sparql查询开始:
SELECT ?item ?type ?itemLabel ?typelabel WHERE {
{
SELECT ?item WHERE {
SERVICE wikibase:mwapi {
bd:serviceParam wikibase:endpoint "en.wikipedia.org" .
bd:serviceParam wikibase:api "Generator" .
bd:serviceParam mwapi:generator "search" .
bd:serviceParam mwapi:gsrsearch "artificial intelligence" .
bd:serviceParam mwapi:gsrlimit "max" .
?item wikibase:apiOutputItem mwapi:item .
}
} LIMIT 100
}
hint:Prior hint:runFirst "true".
?item wdt:P31|wdt:P279 ?type .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
} LIMIT 100
您能否显示示例来扩展或修改此查询?
您是否可以建议使用https://www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manual/MWAPI以外的其他引用,以广泛用于从SParqL调出Mediawiki API(以便我可以利用Wikidata和Wikipedia)?