如何在英国展示慈善机构 - SPARQL

时间:2017-01-24 19:02:44

标签: sparql rdf dbpedia

我正在尝试展示英国的所有慈善机构,但它没有显示,这是我在DBPEDIA使用的链接 - http://dbpedia.org/page/Category:Charities_based_in_the_United_Kingdom

以下是生成的SPARQL查询:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX type: <http://dbpedia.org/class/yago/>
PREFIX prop: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dbc: <http://dbpedia.org/resource/Category>


SELECT *
WHERE {
  ?Charities dct:subject dbc:Charities_based_in_the_United_Kingdom.
  }
Limit 5
].join(" ");

现在它只显示变量?Charities我如何才能显示慈善机构列表?谢谢你的时间:)

2 个答案:

答案 0 :(得分:1)

这应该可以解决问题(对我有用):

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>        
PREFIX type: <http://dbpedia.org/class/yago/>
PREFIX prop: <http://dbpedia.org/property/>
PREFIX dbr: <http://dbpedia.org/resource/>
## Added ##
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?actor WHERE { 
 ?actor <http://purl.org/dc/terms/subject> <http://dbpedia.org/resource/Category:Charities_based_in_the_United_Kingdom>
}

答案 1 :(得分:0)

查询中的错误是dbc前缀的定义。

您的定义PREFIX dbc: <http://dbpedia.org/resource/Category>会导致URI http://dbpedia.org/resource/CategoryCharities_based_in_the_United_Kingdom,但是缺少冒号。

正确的前缀是:

PREFIX dbc: <http://dbpedia.org/resource/Category:>

通过此更改,您的代码适合我。