检索具有wikipedia pag的链接wikidata实体

2024-05-19 21:56:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想按自由文本或类别查询wikidata,以返回具有相应wikipedia页的实体。你知道吗

对于每个页面(或所选页面),我要获取所有链接的wikidata实体,这些实体具有相应的wikipedia文章。你知道吗

请注意:

  • 对于每个wikipedia页面和链接页面,我想获取相应的Wikidata Id
  • 链接的wikidata实体可能存在于其他wikipedia上,而不一定存在于查询的语言中

(例如,法语历史中的一页有多种语言版本;我可能只有法语以及其他多种语言版本的链接页)。你知道吗

我不知道哪些wikidata api与wikipedia中相应的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调用mediawikiapi(以便我可以利用wikidata和wikipedia)?你知道吗


Tags: httpsorg实体apiparam链接service页面