java - OWLAPI : how load ontology having import works?

标签 java owl ontology protege owl-api

我有本体,其中导入了另一个本体。我想知道 OWLOntologyManagerloadOntologyFromOntologyDocument(OWLOntologyDocumentSource documentSource, OWLOntologyLoaderConfiguration config) 在内部是如何工作的。 我已经使用 OWLOntologyLoaderConfiguration 类来处理 Missing Imports(想知道在 MissingImportListener 类的帮助下哪个导入失败).

我能够听到丢失的导入。但是,如果我的任何本体文件已导入 WEB 资源,则上述方法会从其位置获取它。有什么办法可以限制对 WEB 资源的调用并要求加载我系统中的副本吗?

例如,如果 BBC 的体育本体加载方法在内部加载以下本体:

  1. http://purl.org/NET/c4dm/event.owl
  2. FOAF ( http://xmlns.com/foaf/0.1/ )
  3. 时间 ( http://www.w3.org/2006/time )

就像在Protege里面打开BBC的体育本体一样。

最佳答案

您可以使用 AutoIRIMapper - 创建一个指向包含本地副本的文件夹并将其添加到管理器,然后再加载您想要的本体。

对于在不同地址可用的本体,使用 SimpleIRIMapper,它将充当从原始地址到新地址的重定向。

关于java - OWLAPI : how load ontology having import works?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38322305/

相关文章:

java - Esper:创建新的 Esper 语句,并跳过已存在的语句

java - .jar 文件在 IntelliJ 中工作,但在 IntelliJ 之外运行 .jar 时会出现 JVM 错误

OWL 2 QL 与 RDFS

owl - 从 ".owl"文件导入命名空间并在 RDFLIB 图中使用术语

java - 如何检索 <oboInOwl :hasExactSynonym> from every <rdf:Description> using OWL API

java - 如何在 java 文件中存储实现 org.apache.geode.pdx.PdxSerializable 的对象

java - 调用 entityManager.getTransaction() 时出现 EJBException

java - Jena 创建的 OWL 文件无法在 Protege 中打开

rdf - 如何列出rdf语句的对象?

ontology - 如何从我的本体中调用另一个本体中的类?