是否存在维基百科Pageid到wikidata id映射的转储?

问题描述 投票:1回答:4

这个页面:http://wikidata.dbpedia.org/downloads/20160111/有一个名为wikidatawiki-20160111-page-ids.ttl.bz2的转储,其中包含维基数据ID,他们称之为wikipage id。 wikipage id似乎与维基百科的pageid不同。

例如对于德国:

  • 维基百科pageid = 11867
  • Wikidata id = Q183,wikipage id = 322。

所以基本上这个转储映射Q183到322,而我需要将Q183映射到11867。

作为参考:https://en.wikipedia.org/w/index.php?title=Germany&curid=11867 URL中的curid表示维基百科页面ID。

是否有任何具有维基数据ID和维基百科pageid的等效转储文件? (我不想使用API​​并逐个循环我的维基百科页面ID,如下所示:https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&format=xml&pageids=11867

编辑:我不确定waht究竟是wikipage id,但也许在我在问题中提到的转储顶部有一个wikipageId到维基百科pageid映射文件。

wikipedia wikidata
4个回答
1
投票

如果您愿意考虑API调用解决方案而不是使用dump plus格式调整,则可以使用pageprops操作的query属性。

例如,如果我们想找到Albert Einstein的Wikidata项目,给定维基百科页面标题,你会做:

 https://en.wikipedia.org/w/api.php?action=query&format=json&prop=pageprops&titles=Albert Einstein

这使:

 {
   "batchcomplete": "",
   "query": {
     "pages": {
       "736": {
         "pageid": 736,
         "ns": 0,
         "title": "Albert Einstein",
         "pageprops": {
           "defaultsort": "Einstein, Albert",
           "page_image": "Einstein_1921_by_F_Schmutzer_-_restoration.jpg",
           "wikibase-badge-Q17437798": "1",
           "wikibase_item": "Q937"
         }
       }
     }
   }
 }

像这样我们可以在wikibase_item检索wikidata项目ID。

(这是Dmitry BrantMediawiki-api mailing list最初回答的)

这可能是一个更好的解决方案,因为:

  1. 您只搜索所需的项目,而不必搜索整个转储
  2. 您可以直接使用JSON或XML获得答案

1
投票

我终于找到了上述请求的转储: https://dumps.wikimedia.org/enwiki/20160720/ 那里有一个文件: enwiki-20160720-page_props.sql.gz 问题是该文件是一个MySql脚本,而我正在寻找一个JSON或XML文件。我写了一个非常简短的PHP脚本来提取括号块并具有适合我需要的格式。


0
投票

我创建了一个Python包和命令行工具来处理名为wikimapper的问题。它可以通过pip install wikimapper安装。它使用Wikipedia SQL转储创建索引,然后可以非常快速地映射多次(比Wikidata SPARQL端点快得多)。您可以使用我的precomputed indices之一并使用此sqlite3数据库或使用该程序包将维基百科页面标题/维基百科URL映射到维基数据ID,反之亦然。使用页面名称或URL而不是内部维基百科ID应该更加舒适。


-1
投票

我发现此链接可能对您有所帮助。

enwiki dump progress on 20190401

链接是:enwiki-20190401-wbc_entity_usage.sql.gz 212.5 MB

格式是这样的:

(43094421,'P1070','C.P1630',78195)

哪种结构是:

`eu_row_id` bigint(20) NOT NULL AUTO_INCREMENT,
`eu_entity_id` varbinary(255) NOT NULL,
`eu_aspect` varbinary(37) NOT NULL,
`eu_page_id` int(11) NOT NULL,
© www.soinside.com 2019 - 2024. All rights reserved.