获取skos的SPARQL查询:dbpedia类别的更广泛属性

时间:2015-02-04 05:17:02

标签: rdf sparql dbpedia

我使用端点http://dbpedia.org/sparql在给定类别的情况下查询dbpedia的“skos:wider”属性。我从http://dbpedia.org/page/Andreessen_Horowitz中取出了类别来进行查询。我不确定在以下查询中我做错了什么:

一个。我遇到了这个语法错误。我怎么逃避“,”?

prefix category: <http://dbpedia.org/resource/Category:>
select ?value where { 
  category:Companies_based_in_Menlo_Park,_California skos:broader ?value 
}

湾我用这个得到了空洞的结果。但是如果我用“category:American_venture_capital_firms”替换URI,那么我得到了结果(使用正确的前缀声明)。

select ?value where { 
  <http://dbpedia.org/page/Category:American_venture_capital_firms> skos:broader ?value 
}

1 个答案:

答案 0 :(得分:4)

关于a点,您可以通过在前面添加反斜杠来转义SPARQL 1.1前缀名称中的字符:

category:Companies_based_in_Menlo_Park\,_California

但遗憾的是,这在DBPedia端点上不起作用,因为它的SPARQL引擎并不完全符合SPARQL 1.1标准。解决方法是使用完整的IRI而不是带前缀的名称,通过&#39;扩展&#39;前缀:

select ?value where { 
  <http://dbpedia.org/resource/Category:Companies_based_in_Menlo_Park,_California> skos:broader ?value 
}

关于b点:由于您使用了错误的URI,该查询未给出结果。你有&#39; ... dbpedia.org/page/Category:...'在您的查询中,它应该是&#39; ... dbpedia.org/resource/Category:...'。

带有/ page /的DBPedia URI是HTML信息页关于资源,而带有/ resource /的URI是资源本身的实际标识符。后者是始终使用SPARQL查询的内容。