3

I am using wikidata to fetch data for research.

My goal is for each given name, e.g. Abdias Praetorius, get the entity's id, dob, place of birth, sex etc .

The page is : https://www.wikidata.org/wiki/Q308161 And it seems easy.

But when I used wiki-data FetchOnlineDataExample.java code and modified it a little bit. Then I get some information like this:

{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"
...

This is sweet. Because it's literally defined in the web page, e.g. "place of death" is an item in page:

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

"Wittenberg" is an item in page:

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

My question is: Is there any way I can scrap only "place of birth:wittenberg"? I know it might be doable to just crawled the whole web page and read the dom data. I am just curious if there are better ways.

svick
  • 236,525
  • 50
  • 385
  • 514
Bo Yuan
  • 107
  • 1
  • 12

1 Answers1

1

You can use the wbgetentities API to fetch the label of an item or property. There is also a third-party API which uses Wikidata in the background but has a more convenient result format: http://api.haykranen.nl/wikidata/entity?q=308161

Tgr
  • 27,442
  • 12
  • 81
  • 118