我尝试加载包含bfo.owl的本体(test.owl)。使用的API版本:
OWL-API 3.4.3
隐士1.3.8.4
可以使用Protégé5打开测试本体,但是当我尝试用我的代码加载test.owl时,我得到了下面的错误消息,这是我不理解的。有没有人可以帮助我理解消息并找到加载本体的方法?
org.semanticweb.owlapi.model.UnloadableImportException:无法加载导入的本体:http://purl.obolibrary.org/obo/bfo/2014-05-03/bfo.owl原因:解析http://purl.obolibrary.org/obo/bfo/2014-05-03/bfo.owl时出现问题
Could not parse ontology. Either a suitable parser could not be found, or parsing failed. See parser logs below for explanation.
The following parsers were tried:
1) RDFXMLParser
2) OWLXMLParser
3) OWLFunctionalSyntaxOWLParser
4) TurtleOntologyParser
5) OWLOBOParser
6) KRSS2OWLParser
7) ManchesterOWLSyntaxOntologyParser
Detailed logs:
--------------------------------------------------------------------------------
Parser: RDFXMLParser
org.xml.sax.SAXParseException; systemId: http://purl.obolibrary.org/obo/bfo/2014-05-03/bfo.owl; lineNumber: 1; columnNumber: 50; Leerstellen erforderlich zwischen publicId und systemId.
--------------------------------------------------------------------------------
Parser: OWLXMLParser
org.xml.sax.SAXParseException; systemId: http://purl.obolibrary.org/obo/bfo/2014-05-03/bfo.owl; lineNumber: 1; columnNumber: 50; Leerstellen erforderlich zwischen publicId und systemId很抱歉错误消息的第二部分采用了不同的风格-但由于我不允许在一个文本中有超过2个链接(由于缺乏声誉),我仍然希望您能够测试到bfo.owl的链接,我必须有创意。
发布于 2016-11-09 21:33:26
Owlapi 3.4是一个古老的版本,许多bug已经被修复。Protégé5使用4.2.5。
有一个与OWLAPPI4兼容的HermiT版本,在Maven Central上搜索1.3.8.413版(我策划了这个分支,它是在net.sourceforge.owlapi下发布的)。
这也是Protege5捆绑的HermiT版本。
https://stackoverflow.com/questions/40506425
复制相似问题