java - 使用 OWL API 加载 YAGO 本体

标签 java owl owl-api turtle-rdf

我是第一次使用 OWL API(出于兼容性原因,使用 3.4.8),并且我正在尝试加载作为 YAGO 知识库 (http://resources.mpi-inf.mpg.de/yago-naga/yago3.1/yagoSimpleTaxonomy.ttl.7z) 的一部分提供的本体。但是我不断收到以下警告:

[main] WARN org.obolibrary.oboformat.parser.OBOFormatParser - LINE: 629693 Expected white space at pos: 44  LINE:
<wikicat_Gardens_in_Aomori_Prefecture>  rdfs:subClassOf <yagoGeoEntity> .

(我刚刚复制了一个示例,但海龟文件中的每一行都收到此警告,并且打印位置始终是冒号。)

这是产生这些警告的代码:

OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
OWLOntology ontology = manager.loadOntologyFromOntologyDocument(new File("../data/yago/yagoSimpleTaxonomy.ttl"));

即使它们只是被记录为警告并且没有抛出异常,程序也会在此时卡住。所以,看来我需要解决某种问题。谁能告诉我这是怎么回事?

最佳答案

事实证明,YAGO 本体中的一些 URI 包含 \n。从相关 URI 中删除这些 \n 解决了问题。

关于java - 使用 OWL API 加载 YAGO 本体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45928222/

相关文章:

java - 具有透明背景的可滚动 JFrame

java - 如何将 Java 应用程序捆绑到 Gnome/Ubuntu 中的关联 .desktop 文件?

owl - 如何看dbpedia owl之类的yago2s本体?

rdf - 如何在 Protégé 中使用其他标准本体扩展本体?

java - 通过 OWL API 查询 OWL 本体时出现问题

java - 如何监听并获取文件目录中的文件列表?

java - 通过 OpenCMIS 或 java API 在户外创建用户

sparql - 使用包含 owl :sameAs triples 的 SPARQL 本体进行查询时避免计数爆炸

用于检查本体中类是否存在的 OWL API

java - 不知道如何使用 Hermit 从 java 中的本体中获取对象属性