我已经忘记了关于 DBpedia 和 SPARQL
的所有新知识,并且在我用 Google 搜索时发现所有示例都太复杂且难以理解。
我想做的是传入两个或三个维基百科页面,并取回所有页面所属的维基百科类别集。
这似乎在 SPARQL
中应该非常简单,所以我希望能有一个非常简单的例子来帮助我入门。
最佳答案
这实际上是您之前关于 getting all pages belonging to two categories 的问题的变体.唯一的区别是这次,您需要两个/三个 subjects 而不是 objects,因此您不能使用逗号分隔的值枚举,而必须写出您要匹配的三重模式。
例如,要返回西类牙和葡萄牙所属的所有类别,您可以简单地执行如下查询:
SELECT ?cat
WHERE {
<http://dbpedia.org/resource/Spain> dcterms:subject ?cat .
<http://dbpedia.org/resource/Portugal> dcterms:subject ?cat .
}
此查询所做的是选择所有具有相同 ?cat
值的三重模式,用于主题 'Spain' 和 'Portugal' 的 dcterms:subject
关系.换句话说,它精确地检索两个资源都属于的那些类别。
诀窍是根据图形或连接主体和对象的三元组来思考。这是一种精神上的转变,但一旦掌握了这一点,编写查询就会变得容易得多。
关于sparql - 使用 DBpedia 查找几个给定页面共有的维基百科类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11292212/