在 Wikidata SPARQL 中,我如何 return 其他字段?
In Wikidata SPARQL, how can I return other fields?
在我的维基数据查询中,我实际上有 2 个问题。
- 未返回出生日期 + 性别 + 描述
- GROUP BY 不根据名称聚合(错误聚合错误)
SELECT ?person ?label ?dob ?gender ?description
WHERE
{
?person wdt:P31 wd:Q5;
rdfs:label ?label.
FILTER(STRSTARTS(?label, "Michael Bloom")).
}
GROUP BY ?person ?label
LIMIT 5
- 您必须查询所有字段才能返回它们(
SPARQL
无法猜测从哪里获得它们),使用 Wikibase 标签服务时标签和描述除外。
SELECT
中的所有字段都必须在 GROUP BY
子句中,使用 GROUP_CONCAT
函数除外,它将所有值连接到一个字段中。
- 坏消息:除了维基数据查询服务中的确切标签外,很难通过其他方式搜索人员,因为您经常会遇到 60 秒的超时。如 AKSW 所示,一种解决方案是使用 Wikibase Mediawiki API 并进行实体搜索。
以下是重写的查询示例:
SELECT ?person ?personLabel ?personDescription (GROUP_CONCAT(DISTINCT ?dob ; SEPARATOR = ' / ') AS ?dob) (GROUP_CONCAT(DISTINCT ?gender ; SEPARATOR = ' / ') AS ?gender)
WHERE {
SERVICE wikibase:mwapi {
bd:serviceParam wikibase:api "EntitySearch" .
bd:serviceParam wikibase:endpoint "www.wikidata.org" .
bd:serviceParam mwapi:search "Michael Bloom" .
bd:serviceParam mwapi:language "en" .
?person wikibase:apiOutputItem mwapi:item .
}
?person wdt:P31 wd:Q5 .
OPTIONAL { ?person wdt:P569 ?dob }
OPTIONAL { ?person wdt:P21 ?gender }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
GROUP BY ?person ?personLabel ?personDescription
在我的维基数据查询中,我实际上有 2 个问题。
- 未返回出生日期 + 性别 + 描述
- GROUP BY 不根据名称聚合(错误聚合错误)
SELECT ?person ?label ?dob ?gender ?description
WHERE
{
?person wdt:P31 wd:Q5;
rdfs:label ?label.
FILTER(STRSTARTS(?label, "Michael Bloom")).
}
GROUP BY ?person ?label
LIMIT 5
- 您必须查询所有字段才能返回它们(
SPARQL
无法猜测从哪里获得它们),使用 Wikibase 标签服务时标签和描述除外。 SELECT
中的所有字段都必须在GROUP BY
子句中,使用GROUP_CONCAT
函数除外,它将所有值连接到一个字段中。- 坏消息:除了维基数据查询服务中的确切标签外,很难通过其他方式搜索人员,因为您经常会遇到 60 秒的超时。如 AKSW 所示,一种解决方案是使用 Wikibase Mediawiki API 并进行实体搜索。
以下是重写的查询示例:
SELECT ?person ?personLabel ?personDescription (GROUP_CONCAT(DISTINCT ?dob ; SEPARATOR = ' / ') AS ?dob) (GROUP_CONCAT(DISTINCT ?gender ; SEPARATOR = ' / ') AS ?gender)
WHERE {
SERVICE wikibase:mwapi {
bd:serviceParam wikibase:api "EntitySearch" .
bd:serviceParam wikibase:endpoint "www.wikidata.org" .
bd:serviceParam mwapi:search "Michael Bloom" .
bd:serviceParam mwapi:language "en" .
?person wikibase:apiOutputItem mwapi:item .
}
?person wdt:P31 wd:Q5 .
OPTIONAL { ?person wdt:P569 ?dob }
OPTIONAL { ?person wdt:P21 ?gender }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
GROUP BY ?person ?personLabel ?personDescription