Sparql 如何使用DBpedia查找属于两个给定类别的所有Wikipedia页面?

Sparql 如何使用DBpedia查找属于两个给定类别的所有Wikipedia页面?,sparql,wikipedia,dbpedia,Sparql,Wikipedia,Dbpedia,几年前,我涉猎了DBpedia,发现它很吸引人,但现在我想在很久没有使用它之后执行一个查询,我发现它完全无法穿透 我应该发出什么SPARQLquery来检索属于“类别ABC”和“类别XYZ”的所有维基百科页面集 我能找到的所有例子似乎都比我表面上的基本问题要复杂得多,因此很难提炼出最小的东西 (作为一个例子,我想找到所有为意大利队踢过职业足球的澳大利亚球员。)资源和类别之间的链接是使用dcterms:subject关系表示的(例如,如果您转到DBPedia表示,您可以看到) 因此,要查询属于两个

几年前,我涉猎了
DBpedia
,发现它很吸引人,但现在我想在很久没有使用它之后执行一个查询,我发现它完全无法穿透

我应该发出什么
SPARQL
query来检索属于“类别ABC”和“类别XYZ”的所有维基百科页面集

我能找到的所有例子似乎都比我表面上的基本问题要复杂得多,因此很难提炼出最小的东西


(作为一个例子,我想找到所有为意大利队踢过职业足球的澳大利亚球员。)

资源和类别之间的链接是使用
dcterms:subject
关系表示的(例如,如果您转到DBPedia表示,您可以看到)

因此,要查询属于两个类别(例如“美国男歌手”和“同卵双胞胎”)的所有资源,只需执行以下操作:

SELECT ?res    
WHERE { 
 ?res dcterms:subject category:American_male_singers, category:Identical_twins .
} 
一般来说,当试图在DBPedia上构建SPARQL查询时,首先浏览一下(就像我在Elvis页面中所做的那样),尝试找出哪些属性和关系可用

Edit顺便说一句,上面的查询检索DBPedia资源本身。如果您想获得实际的Wikipedia页面,您应该调整您的查询,如下所示:

SELECT ?wikiPage   
WHERE { 
 ?res dcterms:subject category:American_male_singers, category:Identical_twins ;
      foaf:page ?wikiPage .
} 

我确实像以前一样尝试了浏览技术,但是我忘记了很多基本的东西,以至于我不知所措。你的答案比我想象的还要简单——太完美了!