我几年前涉足DBpedia
并发现它很有吸引力,但现在我想在多年不使用它之后执行查询,我发现它完全无法穿透。
我应该发出什么SPARQL
查询来检索属于“类别ABC”和“类别XYZ”成员的所有维基百科页面的集合?
我能找到的所有例子似乎都比我看似基本的问题要多得多,因此很难将某些事情简化为最低限度。
(作为一个例子,我想找到所有为意大利队踢过职业足球的澳大利亚球员。)
答案 0 :(得分:2)
资源和类别之间的链接使用dcterms:subject
关系表示(例如,您可以看到Elvis Presley的DBPedia表示)。
因此,要查询属于两个类别的所有资源(例如“美国男歌手”和“同卵双胞胎”),只需执行以下操作:
SELECT ?res
WHERE {
?res dcterms:subject category:American_male_singers, category:Identical_twins .
}
通常,在尝试通过DBPedia制定SPARQL查询时,首先要浏览一下(就像我通过查看Elvis页面一样),尝试找出哪些属性和关系可用。
编辑 顺便提一下,上面的查询会自己检索DBPedia资源。如果你想获得实际的维基百科页面,你应该调整你的查询:
SELECT ?wikiPage
WHERE {
?res dcterms:subject category:American_male_singers, category:Identical_twins ;
foaf:page ?wikiPage .
}