在链接的当前文档示例中:https: //github.com/owlcs/owlapi/blob/version5/contract/src/test/java/org/semanticweb/owlapi/examples/Examples.java 没有示例如何从本地文件加载本体.只有一种方法可以从字符串加载它.
在过去,当我使用owl-api版本3时,以下代码完美地运行:
OWLOntologyManager manager =OWLManager.createOWLOntologyManager();
File file = new File (path);
OWLOntology ont = manager.loadOntologyFromOntologyDocument(IRI.create(file));
Run Code Online (Sandbox Code Playgroud)
但是,在此版本中,前一代码的最后一行:
manager.loadOntologyFromOntologyDocument(IRI.create(file));
Run Code Online (Sandbox Code Playgroud)
返回此错误:
Exception in thread "main" java.lang.NoSuchMethodError:
org.semanticweb.owlapi.util.SAXParsers.initParserWithOWLAPIStandards(Lorg/xml/sax/ext/DeclHandler;)Ljavax/xml/parsers/SAXParser;
at
org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.parse(RDFParser.java:148)
at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:62)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:173)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.load(OWLOntologyManagerImpl.java:954)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:918)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:859)
at glass.main.ontology_Test_main2.readOntology(ontology_Test_main2.java:49)
at glass.main.ontology_Test_main2.main(ontology_Test_main2.java:38)
Run Code Online (Sandbox Code Playgroud)
请注意附件,一个小测试java项目,链接:
dropbox.com/s/3787a3gsk2bwc26/test.tar.gz?dl=0
请问我做错了什么,我确定这个代码
请您提供正确的方法,并将其添加到链接https://github.com/owlcs/owlapi/blob/version5/contract/src/test/java/org/semanticweb/中的教程示例中owlapi /示例/ Examples.java
非常感谢你花时间陪伴.真诚的问候
owl-api ×1