我想在此示例查询中添加属性实例,以仅获取作为人类实例的项目。
这是示例查询:
SELECT ?entityLabel (YEAR(?date) as ?year)
WHERE
{
BIND(MONTH(NOW()) AS ?nowMonth)
BIND(DAY(NOW()) AS ?nowDay)
?entity wdt:P569 ?date .
FILTER (MONTH(?date) = ?nowMonth && DAY(?date) = ?nowDay)
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
LIMIT 10
这是我调整后的版本与属性实例:
SELECT ?entityLabel (YEAR(?date) as ?year)
WHERE
{
?entity wdt:P31 wd:Q5 .
BIND(MONTH(NOW()) AS ?nowMonth)
BIND(DAY(NOW()) AS ?nowDay)
?entity wdt:P569 ?date .
FILTER (MONTH(?date) = ?nowMonth && DAY(?date) = ?nowDay)
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
LIMIT 10
但我还添加了一行我现在获得查询超时。 有谁知道我的云如何改进我的查询,以便我不会超时。
答案 0 :(得分:0)
这将超时,因为查询服务将在限制它们之前尝试从所有wdt:P31 wd:Q5开始。
您可以在以下位置查看更多详细信息: https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/query_optimization