如何使用Wiki-data toolkit api提取人类可读的数据?

时间:2015-09-22 13:49:33

标签: java mediawiki wikipedia-api wikidata

我正在使用wikidata来获取研究数据。

我的目标是每个给定的名字,例如Abdias Praetorius,获得实体的id,dob,出生地,性别等。

该页面是: https://www.wikidata.org/wiki/Q308161 这似乎很容易。

但是当我使用wiki-data FetchOnlineDataExample.java 代码并对其进行了一些修改。然后我得到一些这样的信息:

{de=["Abdias Praetorius" (de), "Gottschalk Schultze" (de)]}
http://www.wikidata.org/entity/P21 :: http://www.wikidata.org/entity/Q6581097 (item)
http://www.wikidata.org/entity/P19 :: http://www.wikidata.org/entity/Q486985 (item)
http://www.wikidata.org/entity/P20 :: http://www.wikidata.org/entity/Q6837 (item)
http://www.wikidata.org/entity/P27 :: http://www.wikidata.org/entity/Q183 (item)
http://www.wikidata.org/entity/P214 :: "20740552"
http://www.wikidata.org/entity/P227 :: "128621761"
...

这很好。因为它在网页中字面定义,例如 "死亡地点"是页面中的项目:

http://www.wikidata.org/entity/P20

" Wittenberg的"是页面中的项目:

https://www.wikidata.org/wiki/Q6837

我的问题是: 有什么方法我只能废弃"出生地:wittenberg"?我知道只需抓取整个网页并阅读dom数据就可行了。如果有更好的方法,我只是好奇。

1 个答案:

答案 0 :(得分:1)

您可以使用wbgetentities API获取商品或媒体资源的标签。还有a third-party API在后台使用维基数据,但结果格式更方便:http://api.haykranen.nl/wikidata/entity?q=308161