从维基百科中获取名人 API
Fetch famous people from Wikipedia API
我正在尝试从维基百科中获取还活着的人 API,但我还不知道该怎么做。
我发现 this question 和我的一样,据我所知,唯一的方法是搜索只有 birth_date 参数的人,我该怎么做?
例如,如果我想搜索 "Ronaldo",我应该得到所有还活着的名叫罗纳尔多的人的名单。我唯一关心的数据是出生日期、姓名和最终死亡日期。
我唯一想到的是这个:
https://en.wikipedia.org/w/api.php?action=opensearch&search=%22Ronaldo%22&format=json
但它并没有完成我希望它完成的工作,因为它只获取传记和 link。
使用structured data query service。通用 API 没有提供太多过滤方式。
请看下面的查询:
SELECT distinct ?item ?itemLabel ?itemDescription (SAMPLE(?DR) as ?DR) (SAMPLE(?RIP) as ?RIP) (SAMPLE(?image)as ?image) (SAMPLE(?article)as ?article) WHERE {
?item wdt:P31 wd:Q5.
?item ?label "Ronaldo"@en.
?article schema:about ?item .
?article schema:inLanguage "en" .
?article schema:isPartOf <https://en.wikipedia.org/>.
OPTIONAL{?item wdt:P569 ?DR .} # P569 : Date of birth
OPTIONAL{?item wdt:P570 ?RIP .} # P570 : Date of death
OPTIONAL{?item wdt:P18 ?image .} # P18 : image
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
GROUP BY ?item ?itemLabel ?itemDescription
您可以在死亡日期添加过滤器以仅查看活着的人。
您可以在此处执行以下查询:https://query.wikidata.org/ 以获取您感兴趣的详细信息。
SELECT DISTINCT ?id ?idLabel (SAMPLE(?birth) as ?birth_date)
(SAMPLE(?death_date) as ?dateOfDeath) WHERE {
?id wdt:P31 wd:Q5.
?id wdt:P569 ?birth .
OPTIONAL{?id wdt:P570 ?death_date .}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en".
?id rdfs:label ?idLabel .
}?id ?label "Ronaldo"@en.
}
GROUP BY ?id ?idLabel
我正在尝试从维基百科中获取还活着的人 API,但我还不知道该怎么做。
我发现 this question 和我的一样,据我所知,唯一的方法是搜索只有 birth_date 参数的人,我该怎么做?
例如,如果我想搜索 "Ronaldo",我应该得到所有还活着的名叫罗纳尔多的人的名单。我唯一关心的数据是出生日期、姓名和最终死亡日期。
我唯一想到的是这个:
https://en.wikipedia.org/w/api.php?action=opensearch&search=%22Ronaldo%22&format=json
但它并没有完成我希望它完成的工作,因为它只获取传记和 link。
使用structured data query service。通用 API 没有提供太多过滤方式。
请看下面的查询:
SELECT distinct ?item ?itemLabel ?itemDescription (SAMPLE(?DR) as ?DR) (SAMPLE(?RIP) as ?RIP) (SAMPLE(?image)as ?image) (SAMPLE(?article)as ?article) WHERE {
?item wdt:P31 wd:Q5.
?item ?label "Ronaldo"@en.
?article schema:about ?item .
?article schema:inLanguage "en" .
?article schema:isPartOf <https://en.wikipedia.org/>.
OPTIONAL{?item wdt:P569 ?DR .} # P569 : Date of birth
OPTIONAL{?item wdt:P570 ?RIP .} # P570 : Date of death
OPTIONAL{?item wdt:P18 ?image .} # P18 : image
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
GROUP BY ?item ?itemLabel ?itemDescription
您可以在死亡日期添加过滤器以仅查看活着的人。
您可以在此处执行以下查询:https://query.wikidata.org/ 以获取您感兴趣的详细信息。
SELECT DISTINCT ?id ?idLabel (SAMPLE(?birth) as ?birth_date)
(SAMPLE(?death_date) as ?dateOfDeath) WHERE {
?id wdt:P31 wd:Q5.
?id wdt:P569 ?birth .
OPTIONAL{?id wdt:P570 ?death_date .}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en".
?id rdfs:label ?idLabel .
}?id ?label "Ronaldo"@en.
}
GROUP BY ?id ?idLabel