维基数据查询超时

时间:2017-01-31 23:13:24

标签: sparql wikidata

我想在此示例查询中添加属性实例,以仅获取作为人类实例的项目。

这是示例查询:

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

但我还添加了一行我现在获得查询超时。 有谁知道我的云如何改进我的查询,以便我不会超时。

1 个答案:

答案 0 :(得分:0)

这将超时,因为查询服务将在限制它们之前尝试从所有wdt:P31 wd:Q5开始。

您可以在以下位置查看更多详细信息: https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/query_optimization