Wikidata查询服务';今天是谁的生日;SPARQL查询 ;例子

Wikidata查询服务';今天是谁的生日;SPARQL查询 ;例子,sparql,wikidata,Sparql,Wikidata,我在玩SPARQL查询示例。查询总是以QueryTimeoutException结束(查询截止日期已过期) 但是,如果我将birthdate属性P569更改为death-date属性P570,则查询运行时不会引发异常 要成功执行出生查询,需要做些什么吗?我认为该查询对于wikibase服务来说可能太重了。如果您只是尝试通过获取所有属性,您将获得成功。我尝试了以下方法: PREFIX wikibase: <http://wikiba.se/ontology#> PREFIX wdt:

我在玩SPARQL查询示例。查询总是以QueryTimeoutException结束(查询截止日期已过期)

但是,如果我将birthdate属性P569更改为death-date属性P570,则查询运行时不会引发异常


要成功执行出生查询,需要做些什么吗?

我认为该查询对于wikibase服务来说可能太重了。如果您只是尝试通过获取所有属性,您将获得成功。我尝试了以下方法:

PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT distinct ?name (year(?date) as ?year)  WHERE {   
    ?entityS wdt:P569 ?date .
    ?entityS wdt:P1477 ?name.
    FILTER (datatype(?date) = xsd:dateTime) 
    FILTER (month(?date) = month(now()))
    FILTER (day(?date) = day(now()))
 } 
前缀wikibase:
前缀wdt:
前缀rdfs:
选择不同的?名称(年(?日期)作为?年),其中{
?实体wdt:P569?日期。
?实体wdt:P1477?名称。
过滤器(数据类型(?日期)=xsd:dateTime)
过滤器(月份(?日期)=月份(现在())
过滤器(日(?日期)=日(现在())
} 

我正试图筛选出只返回演员的信息,而查询似乎要花很长时间。有人能帮忙吗?@German你想干什么?如果时间过长,则意味着您需要缩小选择范围。我想有一种方法是追踪电影。前缀wikibase:PREFIX wdt:PREFIX rdfs:SELECT distinct?name?film?film_name,其中{entityS wdt:P1283?film。?entityS wdt:P1477?name。可选{film rdfs:label?film_name.filter(langMatches(lang(?film_name),“en”)}我需要调整上面的查询以仅返回演员,所以基本上我想要的演员的生日是today@German如果你跟随像你这样的人,你可以找到所有可能的属性,然后重写你的查询。选择不同的名称dob,其中{entityS wdt:P569-dob;wdt:P1477-name;wdt:P106 wd:Q33999.FILTER(datatype(?dob)=xsd:dateTime)FILTER(month(?dob)=month(now())FILTER(day(?dob)=day(now())}