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

How can I get category hierarchy from DBPedia?

我正在使用 DBpedia 的查找服务。我最初的意图是使用 class 字段来响应查找,以便进行某种语义搜索实现。经过一些经验,我发现 class 字段 returns 对于很多查找都是空的。然后我想如果我可以将类别字段用于相同的目的。

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

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

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

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

是否有包含类别层次结构的文件?我如何加载它 Jena 或其他框架?

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

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

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