1

我无法弄清楚 Wikidata API 的问题。我正在搜索给定地标是否存在 Wikipedia 文章。

例如不丹的寺庙“虎穴”。

寺庙在维基百科上的名字是“Paro Taktsang”,但是如果你用维基百科主页右上角的搜索框搜索“Tiger's nest”,就会找到“Paro Taktsang”的页面。应该的。

但我的机器人使用 Wikidata 来搜索地标页面。当我的机器人搜索 Wikipedia 使用的名称(“Paro Taktsang”)时,它会找到我需要的数据:

点击此处查看 此网址的结果:

http://www.wikidata.org/w/api.php?
action=wbgetentities
&sites=enwiki
&titles=Paro Taktsang
&languages=en
&format=xml

但是,当我搜索“Tiger's Nest”时,它什么也没找到。如何像 Wikipedia 的搜索功能一样搜索 Wikidata。那么“虎穴”会将我重定向到“Paro Taktsang”吗?

4

2 回答 2

2

那这个呢 :

https://www.wikidata.org/w/index.php?title=Special%3ASearch&profile=default&search=Sharm+el+Sheikh&fulltext=Search

维基数据门户居然提供了全文搜索接口,你知道哪个是下划线的WEB API吗?

干杯

于 2015-11-20T13:16:49.400 回答
1

Wikipedia 有一个固有的重定向机制,由重定向数据库管理,该数据库将重定向从 pageids 映射到新的 pagename。在您提到的示例中,Tiger's Nest 重定向到 Paro Taktsang,因为将存在从 Tiger's Nest 的 pageid 到页面 Paro Taktsang 的映射。此重定向表可在 Wikipedia 转储中找到。

然而,对于 wikidata 则不能这样说。Wikidata 转储似乎仅作为文章的 json 提供http://dumps.wikimedia.org/other/wikidata/并且找不到重定向映射

然而,在某些地方的别名情况下,维基数据中的自动建议/自动更正会将别名翻译成正确的名称。如果您在搜索框中输入“大苹果”,它会建议您纽约市,但如果出现以下情况,它不会重定向到纽约市你点击返回。相反,它会向您显示“您的意思是?”

一个可能的解决方案可能是从 wikipedia 获取该地点的正确名称(通过使用转储或 API),然后查询 Wikidata 以获取您想要的信息。

于 2015-07-11T00:20:30.110 回答