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

Java 如何从DBPedia获取类别层次结构?,java,jena,dbpedia,Java,Jena,Dbpedia,我正在使用DBpedia的查找服务。我最初的意图是使用类字段作为查找的响应,以便执行某种语义搜索实现。经过一些经验之后,我看到类字段返回为空以进行大量查找。然后我想如果我可以使用category字段来达到同样的目的 样本查找; 我在dbpedia_2015-04.owl文件中找到了类层次结构,并用ApacheJena加载了它。然而,我找不到加载所有类别层次结构的方法 我可以在Virtuoso中通过以下查询查找给定类别的子类别,但我不想为了查找类别的父/子类别而进行远程调用 SELECT ?pa

我正在使用DBpedia的查找服务。我最初的意图是使用类字段作为查找的响应,以便执行某种语义搜索实现。经过一些经验之后,我看到类字段返回为空以进行大量查找。然后我想如果我可以使用category字段来达到同样的目的

样本查找;

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

我可以在Virtuoso中通过以下查询查找给定类别的子类别,但我不想为了查找类别的父/子类别而进行远程调用

SELECT ?parent ?sub
WHERE {
  {
    ?sub skos:broader <http://dbpedia.org/resource/Category:Algebra>
  } UNION {
  <http://dbpedia.org/resource/Category:Algebra> rdfs:label ?parent
 }
}
选择父项子项
在哪里{
{
?子SKO:范围更广
}联合{
rdfs:标签?父级
}
}

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

您可以在此处找到类别转储:

可以找到关于如何将模型加载到jena(取决于您将选择的语法)的全面指南。但是假设您选择了turtle语法,那么Jena中的代码基本上如下所示:

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

您可以在此处找到类别转储:

可以找到关于如何将模型加载到jena(取决于您将选择的语法)的全面指南。但是假设您选择了turtle语法,那么Jena中的代码基本上如下所示:

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

谢谢,我设法加载了文件。但当我在处理类层次结构时,下面的代码工作得很好。如何对类别层次结构、父级和子级执行类似操作?StmtIterator stmts=dbpedia.listStatements(null,RDFS.subassof,(RDFNode)null)@mcelikel如果您有新问题,请使用“提问”按钮将其作为新问题发布。如果有助于提供上下文,您可以提供指向此问题的链接。谢谢,我成功加载了文件。但当我在处理类层次结构时,下面的代码工作得很好。如何对类别层次结构、父级和子级执行类似操作?StmtIterator stmts=dbpedia.listStatements(null,RDFS.subassof,(RDFNode)null)@mcelikel如果您有新问题,请使用“提问”按钮将其作为新问题发布。如果有助于提供上下文,您可以提供指向此问题的链接。