如何查询国家/地区的属性,如DBpedia中的语言?

时间:2012-10-23 15:21:28

标签: php dbpedia

如何使用像http://dbpedia.org/page/France这样的DBPedia查询国家/地区配置文件并获取类似语言的属性?

3 个答案:

答案 0 :(得分:3)

让我们从头开始,因为你没有说出你尝试过的东西。

DBpedia是一个关于所谓资源的信息数据库:从存储为RDF三元组的维基百科文章派生的事实。资源由URI标识; DBpedia使用http://dbpedia.org/resource/*表单,其中**中的http://en.wikipedia.org/wiki/*相同。

所以DBpedia有关于资源http://dbpedia.org/resource/France的事实。如果您在浏览器中查找此资源,系统会将您重定向到http://dbpedia.org/page/France,因为法国无法在您的浏览器中显示,但其描述可以。

DBpedia知道的事实是

<http://dbpedia.org/resource/France> <http://dbpedia.org/ontology/language> <http://dbpedia.org/resource/French_language>

基本上说“法语[法语]是法语。”

要通过API获取此事实,您可以使用标准RDF查询语言和协议SPARQLDBpedia SPARQL endpoint是您向SPpedia发送SPARQL查询的地方,它有一个Web表单,可让您输入和提交查询。如果您只想要一个HTML表格来显示法国使用的语言,请将表单的设置保留为默认值并使用:

select ?language ?languageName
where {
  dbpedia:France dbpedia-owl:language ?language .
  ?language rdfs:label ?languageName .
}

这意味着:“给我法国用作语言的资源和名称。”
dbpedia:France<http://dbpedia.org/resource/France>的缩写,dbpedia-owl:language<http://dbpedia.org/ontology/language>的缩写。

如果您需要国家/地区以及这些国家/地区使用的语言,请使用:

select distinct ?country ?language
where {
  ?country a dbpedia-owl:Country .
  ?country dbpedia-owl:language ?language .
} 
LIMIT 100

表示:“为我提供100个国家资源组合以及这些国家/地区用作语言的资源。”

我遗漏了一些细微差别,但这应该让你开始。

答案 1 :(得分:1)

正如@Bergi在评论中指出的那样,请参阅http://wiki.dbpedia.org/OnlineAccess以获取可能的在线访问方法列表。

答案 2 :(得分:-1)

除非他们提供某种API,否则你唯一的选择是“屏幕刮”页面 - 换句话说,使用curl(或其他方法)加载页面,然后搜索“dbpedia-owl:language”和获取后面的字符串(dbpedia:French_language)并解析它以使其更好看。