1

我必须将一些针对 DBpedia 的 SPARQL 查询引入 Prolog 程序。我是语义网世界的初学者,我不太了解。我在问是否有某种方法可以实现一个查询,给定一个词作为输入,告诉我这个词是否命名了一个历史时期。

例如,我向查询传递了一个词,例如:侏罗纪白垩纪中世纪,如果这个词是一个历史时期或与之相关的东西,它会告诉我。

4

1 回答 1

5

对于这类问题,手动探索 DBpedia 中的数据并尝试找到一些可以查询的相关属性很有用。例如,侏罗纪时期的 DBpedia 页面显示,在组织这些时期的类型时似乎没有太多的类型层次结构。但是,有一个三元组:

 dbpedia:Jurassic dbpprop:wikiPageUsesTemplate dbpedia:Template:Geological_period

这表明以下查询可能会检索一些句点:

PREFIX template: <http://dbpedia.org/resource/Template:>
SELECT * WHERE { 
  ?period dbpprop:wikiPageUsesTemplate template:Geological_period .
}

SPARQL 结果

中世纪的页面几乎没有那么有用,我不确定,一般来说,这个问题有什么好的基于 DBpedia 的解决方案。有一篇有用的维基百科文章,历史时期,其大部分出站链接都是历史时期的名称。

关于浏览 DBpedia 数据

上面的侏罗纪链接转到http://dbpedia.org/resource/Jurassic(实际上重定向到http://dbpedia.org/page/Jurassic,在那里您可以浏览有关相应维基百科文章的数据。根据表示或在 DBpedia wiki 中命名“事物”</a>:

DBpedia 数据集中的每个事物都由http://dbpedia.org/resource/Name形式的可取消引用的 IRI 或基于 URI 的引用表示,其中 Name 来自源 Wikipedia 文章的 URL,其中格式为http://en.wikipedia.org/wiki/Name。因此,每个 DBpedia 实体都直接与 Wikipedia 文章相关联。每个 DBpedia 实体名称都解析为面向描述的 Web 文档(或 Web 资源)。

在 DBpedia 3.6 版之前,我们只使用英文维基百科的文章名称,但从 DBpedia 3.7 版开始,我们还提供包含 IRI 的国际化数据集,例如http://xx.dbpedia.org/resource/Name,其中 xx 是维基百科语言代码和名称取自源 URL, http: //xx.wikipedia.org/wiki/Name

于 2013-06-03T12:47:02.560 回答