SPARQL 查询从给定的 wiki-ID 获取多个信息
SPARQL query to get several informations from a given wiki-ID
我在 table 中有几位作者的信息。在这个 table 中,一列包含每个作者的 wiki-id。我想使用 wiki-ids 获取更多信息,例如性别、出生地、死亡地等。我的计划是使用 Python 脚本循环遍历 table 和 运行 为每个作者一个 SPARQL 查询,获取他们的数据并将其添加到 table.
问题是我不知道如何查询“从拥有 wiki-id QXXXX 的作者处获取信息”。例如,让我们以作者 Almudena Grandes (Wiki-id Q274348, https://www.wikidata.org/wiki/Q274348) 为例。如何进行 SPARQL 查询以获取她的性别、地点和出生日期?
我一直在写关于西班牙作家的其他查询,例如:https://w.wiki/468x
添加
bind(wd:Q274348 as ?person)
关于西班牙作家的问题。进行此更改后,您将不会获得所有西班牙作者的结果,而只会获得 Almudena Grandes 的结果。
有点简化,查询看起来像
SELECT distinct ?person ?personLabel ?nationalityLabel ?databirth ?placebirthLabel ?genderLabel
WHERE
{
bind(wd:Q274348 as ?person)
?person wdt:P27 ?nationality.
optional {?person wdt:P569 ?databirth}.
optional {?person wdt:P19 ?placebirth}.
optional {?person wdt:P21 ?gender}.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
我在 table 中有几位作者的信息。在这个 table 中,一列包含每个作者的 wiki-id。我想使用 wiki-ids 获取更多信息,例如性别、出生地、死亡地等。我的计划是使用 Python 脚本循环遍历 table 和 运行 为每个作者一个 SPARQL 查询,获取他们的数据并将其添加到 table.
问题是我不知道如何查询“从拥有 wiki-id QXXXX 的作者处获取信息”。例如,让我们以作者 Almudena Grandes (Wiki-id Q274348, https://www.wikidata.org/wiki/Q274348) 为例。如何进行 SPARQL 查询以获取她的性别、地点和出生日期?
我一直在写关于西班牙作家的其他查询,例如:https://w.wiki/468x
添加
bind(wd:Q274348 as ?person)
关于西班牙作家的问题。进行此更改后,您将不会获得所有西班牙作者的结果,而只会获得 Almudena Grandes 的结果。
有点简化,查询看起来像
SELECT distinct ?person ?personLabel ?nationalityLabel ?databirth ?placebirthLabel ?genderLabel
WHERE
{
bind(wd:Q274348 as ?person)
?person wdt:P27 ?nationality.
optional {?person wdt:P569 ?databirth}.
optional {?person wdt:P19 ?placebirth}.
optional {?person wdt:P21 ?gender}.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}