我第一次尝试使用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。
答案 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
两个结果是
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
看起来DBpedia实际上并没有记录您正在寻找的信息。