一次Mediawiki API调用即可检索项目,其页面浏览量和地理属性

时间:2018-09-15 08:32:06

标签: geolocation mediawiki-api wikidata-api wikimedia

这是我刚才在Get location with Wikimedia API上提出的答案的全面而完整的版本。我花了几天的时间仔细浏览了所有Mediawiki API,GeoData API和Wikidata Query SPARQL服务文档,在Stackoverflow上发布了我的问题,并在Wikimedia中发布了多个讨论区,但没有找到满意的答案。

问题如下:我正在尝试利用GeoData API执行上述任务-地理位置项目的国家和城市归属。我的任务的简短描述:获取在某个坐标位置定义的特定位置附近的Wikipedia页面列表,获取一些页面属性(页面视图,主图像),然后获取国家和城市(人类可读,而不是ID),此页面项所属。示例说明:假设我在圣家堂附近有一些地理坐标作为输入。我想在此坐标周围1公里半径内收到N个维基百科页面的列表。我想接收每个页面的页面浏览量和主图像。我希望确定页面上描述的每个项目都位于西班牙巴塞罗那。我可以在一个Wikimedia调用和N个Wikibase查询服务调用中执行它,但是在一个调用中执行请求的请求至关重要。

我发现GeoData API非常干净,简单并且用户友好,可以根据商品的地理位置检索各种数据。但是检索该项目的国家/城市隶属关系存在困难。从理论上讲,国家/地区可以作为GeoData API本身的参数通过一个请求(也可以不总是,但仅在指定时可以使用,而不是按名称格式,而可以按字母顺序指定),但可以仅针对符合以下条件的商品获得城市都是城市。从第二手开始,此信息确实存在于每个带有地理标签的商品中,并且可以通过Wikibase SPARQL查询服务获得。但是随后,我将需要对WikiData进行辅助请求,而我希望通过这种方法避免这些请求。我设法尝试了所有方法:

  1. 要从Wikibase SPARQL请求中调用Wikimedia API(GeoData扩展名),但这似乎不起作用。

  2. 要通过Wikibase SPARQL请求来检索某些坐标周围的Wikidata项目,但随后我无法从Wikipedia获取有关页面浏览量的信息。

  3. 使用“ generator = geosearch”生成地理位置周围的页面列表,并将其传递给Wikimedia API的多个道具和pageprop,以调用相关的Wikidata项目。但是,当我需要人类可读的标签时,我只能获得Wikidata属性的ID。

0 个答案:

没有答案