如何从DBPedia获取类别层次结构?

时间:2015-12-20 00:36:03

标签: java jena dbpedia

我正在使用DBpedia的查找服务。我最初的打算是在查找的响应中使用类字段,以便进行某种语义搜索实现。经过一些经验之后,我看到类字段在很多查找时返回空。然后我想如果我可以使用类别字段用于相同的目的。

示例查找; http://lookup.dbpedia.org/api/search.asmx/PrefixSearch?QueryClass=&MaxHits=1&QueryString=Antarctica

我在dbpedia_2015-04.owl文件中找到了类hieararchy并用Apache Jena加载它。但是,我找不到加载所有类别的层次结构的方法。

我可以在Virtuoso中使用以下查询查找给定类别的子类别,但我不想进行远程调用以查找某个类别的父母/子女。

SELECT ?parent ?sub
WHERE {
  {
    ?sub skos:broader <http://dbpedia.org/resource/Category:Algebra>
  } UNION {
  <http://dbpedia.org/resource/Category:Algebra> rdfs:label ?parent
 }
}

是否有包含类别层次结构的文件?我怎样才能加载Jena或其他框架?

1 个答案:

答案 0 :(得分:0)

您可以在此处找到类别转储:http://dbpedia.org/Downloads2015-04#p25033-2

可以找到关于如何将模型加载到jena中的综合指南(取决于您将选择的语法)here。但是让我们假设您选择了乌龟语法,那么Jena中的代码基本上会是这样的:

Model model = ModelFactory.createDefaultModel(); 
model.read("data.ttl", "TURTLE") ;