如何使用dbpedia/sparql提取wikipedia列表中的人员

如何使用dbpedia/sparql提取wikipedia列表中的人员,sparql,wikipedia,dbpedia,Sparql,Wikipedia,Dbpedia,我正在尝试使用dbpediasparql查询来提取所有在奥运会上获得(金牌)的人以及他们的出生地点。基本上,我的目标是: 我猜它一定是以某种方式与这段代码一起工作的: yago res:wikicategory_奥运会铜牌获得者_西班牙 这不起作用: SELECT ?res WHERE { ?res yago-res:wikicategory_Olympic_bronze_medalists_for_Spain . } 有什么想法吗?让所有在奥运会上获得金牌的西班牙运动员 s

我正在尝试使用dbpediasparql查询来提取所有在奥运会上获得(金牌)的人以及他们的出生地点。基本上,我的目标是:

我猜它一定是以某种方式与这段代码一起工作的:

yago res:wikicategory_奥运会铜牌获得者_西班牙

这不起作用:

SELECT ?res    
WHERE { 
   ?res yago-res:wikicategory_Olympic_bronze_medalists_for_Spain .
} 

有什么想法吗?

让所有在奥运会上获得金牌的西班牙运动员

select ?person where 
{
    ?person a <http://dbpedia.org/class/yago/OlympicGoldMedalistsForSpain>
}
但是有

http://dbpedia.org/class/yago/OlympicGoldMedalistsForItaly

因此,解决办法可以是:

    select distinct ?person ?birthPlace where 
{
    ?goldForCountry rdfs:subClassOf yago:Medalist110305062 .
    ?person a ?goldForCountry .
    optional{
        ?person dbo:birthPlace ?birthPlace
    }
    filter (contains(str(?goldForCountry), "http://dbpedia.org/class/yago/OlympicGoldMedalistsFor"))
}

出生地
应该是可选的,因为dbpedia没有3994个人的出生地

您想要实例的类是什么?很好。非常感谢你。您知道如何将出生地添加到最终结果中吗?谢谢!也很好用。我指的是出生地,不是日期。但是通过用出生地替换出生日期得到了它。@ChrisEnroute我很抱歉,但是是的,还有一个出生地谓词
http://dbpedia.org/class/yago/OlympicGoldMedalistsForFrance
http://dbpedia.org/class/yago/OlympicGoldMedalistsForGermany
    select distinct ?person ?birthPlace where 
{
    ?goldForCountry rdfs:subClassOf yago:Medalist110305062 .
    ?person a ?goldForCountry .
    optional{
        ?person dbo:birthPlace ?birthPlace
    }
    filter (contains(str(?goldForCountry), "http://dbpedia.org/class/yago/OlympicGoldMedalistsFor"))
}