Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to retrieve biographical information of a person using Wikipedia's web API?

I am working on retrieving some particular bio details of a person from a Wikipedia page of that person through Wikipedia's web API.

I need to retrieve the bio information box of a person.

Bio information of Mark Babic

I found how to retrieve the content box , introduction paragraph and all. The below URL is used to retrieve the first introduction para of the wiki web page.

https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=Sachin_Tendulkar

But I am stuck with getting the above bio information box through wiki web API, so that I could extract the specific details I want.

Is it possible to get a single item of information like only the full name or only the date of birth through a single query (instead of getting the whole information and extracting the details from it)?

like image 945
Siva Kannan Avatar asked Jan 08 '23 10:01

Siva Kannan


1 Answers

Simple: you must not extract biographical data from Wikipedia directly, but from its structured data counterpart, Wikidata. See https://www.wikidata.org/wiki/Wikidata:Data_access for how.

In your example: date of birth is P569; the query is https://www.wikidata.org/w/api.php?action=wbgetclaims&entity=Q42&property=P569

{
    "claims": {
        "P569": [
            {
                "id": "q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F",
                "mainsnak": {
                    "snaktype": "value",
                    "property": "P569",
                    "datatype": "time",
                    "datavalue": {
                        "value": {
                            "time": "+1952-03-11T00:00:00Z",
                            "timezone": 0,
                            "before": 0,
                            "after": 0,
                            "precision": 11,
                            "calendarmodel": "http://www.wikidata.org/entity/Q1985727"
                        },
                        "type": "time"
                    }
                },

etc.

like image 142
Nemo Avatar answered Jan 15 '23 20:01

Nemo