具有特定信息框的页面的Sparql查询语法

时间:2014-05-22 16:30:46

标签: sparql dbpedia

我第一次尝试使用Sparql(在dbpedia上)并且无法获得任何查询。我尝试的所有内容都会返回语法错误或空数据集。

例如,我在this page上尝试了查询。它们不起作用,所以我做了以下改动:
- 我读到wikiPageUsesTemplate已更改为http://dbpedia.org/ontology/wikiPageUsesTemplate
- 我添加'WHERE'来选择语句,但我想这必须是可选的,
- 我将整个事情减少到最低限度:只是信息框条款。

但它仍然无效!以下是我提出的建议:

PREFIX dbo: <http://dbpedia.org/ontology/>

SELECT * WHERE {
    ?page dbo:wikiPageUsesTemplate
        <http://dbpedia.org/resource/Template:Infobox_artist>
}
LIMIT 100

我一直在尝试查询here

1 个答案:

答案 0 :(得分:2)

我不确定你为什么要使用dbpedia-owl:wikiPageUsesTemplate。根据{{​​3}}(强调补充):

  

http://wiki.dbpedia.org/Datasets39/Properties可能   改为http://xx.dbpedia.org/property/wikiPageUsesTemplate in   未来发布

我不知道DBpedia中的当前数据是否是未来的版本(就该文档而言),但听起来你仍然应该使用旧版本。但是,测试这个很容易。由于您拥有查询语言和Web服务,因此可以很容易地尝试更一般的结果作为一种健全性检查。特别是,以下内容非常强烈地表明它不是您想要的属性。

SELECT *  WHERE {
  ?s <http://dbpedia.org/ontology/wikiPageUsesTemplate> ?o         
}
LIMIT 100

http://dbpedia.org/ontology/wikiPageUsesTemplate

同样,既然您已经拥有了一个交互式端点,那么为什么不尝试查看哪些属性将事物与<http://dbpedia.org/resource/Template:Infobox_artist>相关联,以及用什么属性?

SELECT distinct ?p  WHERE {
  ?s ?p <http://dbpedia.org/resource/Template:Infobox_artist>      
}
limit 500

SPARQL results (0 results)

两个结果是

http://www.w3.org/2002/07/owl#sameAs
http://dbpedia.org/ontology/wikiPageRedirects

更多查询可以向我们展示重定向到它的内容。事实证明它只是

http://dbpedia.org/resource/Template:Infobox_Artist

但事实证明,与此无关。

SELECT * WHERE {
   ?s ?p <http://dbpedia.org/resource/Template:Infobox_Artist>
}
limit 500

SPARQL results (2 results)

看起来DBpedia实际上并没有记录您正在寻找的信息。