3

我正在使用 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

我的问题是:有什么办法可以只废弃“出生地:维滕贝格”?我知道只爬取整个网页并读取 dom 数据可能是可行的。我只是好奇是否有更好的方法。

4

1 回答 1

1

您可以使用wbgetentities API来获取项目或属性的标签。还有一个第三方 API在后台使用 Wikidata,但结果格式更方便:http ://api.haykranen.nl/wikidata/entity?q=308161

于 2015-09-28T07:00:37.947 回答