sparql - 使用 DBpedia 查找几个给定页面共有的维基百科类别?

标签 sparql wikipedia dbpedia

我已经忘记了关于 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/

相关文章:

java - 为什么 neo4j 的 .db 文件路径无效?

sparql - Virtuoso 中用户定义的 SPARQL 聚合函数

SPARQL 查询返回的行数比预期多得多

python - 从维基百科文章中提取统计信息

sparql - 开始使用 DBpedia

python - python 和 R 中的维基百科哲学游戏图

api - 维基百科 API 返回排序数据而不是随机数据

c++ - 尝试维基百科查询时出现 CURLPP 400 错误请求

php - 如何在 php 中对本地 rdf 文件运行 sparql 查询

sparql - 获取拥有不止一种官方语言的国家列表