我有本体,其中导入了另一个本体。我想知道 OWLOntologyManager
的 loadOntologyFromOntologyDocument(OWLOntologyDocumentSource documentSource, OWLOntologyLoaderConfiguration config)
在内部是如何工作的。
我已经使用 OWLOntologyLoaderConfiguration
类来处理 Missing Imports(想知道在 MissingImportListener
类的帮助下哪个导入失败).
我能够听到丢失的导入。但是,如果我的任何本体文件已导入 WEB 资源,则上述方法会从其位置获取它。有什么办法可以限制对 WEB 资源的调用并要求加载我系统中的副本吗?
例如,如果 BBC 的体育本体加载方法在内部加载以下本体:
- http://purl.org/NET/c4dm/event.owl
- FOAF ( http://xmlns.com/foaf/0.1/ )
- 时间 ( 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/