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

标签 java jena dbpedia

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

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

我在 dbpedia_2015-04.owl 文件中找到了类层次结构,并使用 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 或其他框架?

最佳答案

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

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

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

关于java - 如何从 DBPedia 获取类别层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376876/

相关文章:

java - 致命异常 : Main Android Eclipse

java - com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failure

java - 如何使用java从RDF文件中获取特定标签相关信息

java - 尝试在 java 中运行 Dbpedia 的 sparql 查询时出现 NoClassDefFoundError。 (org/slf4j/LoggerFactor)

java - org.aspectj.lang.NoAspectBoundException - 未找到方法 <init>()V

java - 将 char 转换为 ASCII 不起作用

sparql - 为什么我们需要 Fuseki 服务器?

java - 如何在 Java 中创建本体?

sparql - 给定公司名称列表,如何获取公司名称、网站网址、成立年份、员 worker 数等

sparql - 通过耶拿发布时,COUNT 聚合在 DBPedia 上不起作用