Сова API-интерфейс V5 для чтения онтологии из локального файла
В текущем примере документации по ссылке:
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));
Однако в этой версии последняя строка предыдущего кода:
manager.loadOntologyFromOntologyDocument(IRI.create(file));
Возвращает это Ошибка:
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)
Пожалуйста, обратите внимание на приложение, небольшой тестовый проект 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/Examples.java
Большое Спасибо за ваш время.
Искренние пожелания
2 ответов:
Вы очень близки к решению:
final OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); final OWLOntology ontology = manager.loadOntologyFromOntologyDocument(new File("/home/galigator/myLocalDir/aura.owl"));Просто используйте новый файл вместо IRI.создать
Причина проблемы заключалась в следующем:
Предыдущие версии, которые я использовал: Я использовал версию отшельник 1.3.8.500 и сова-API с предыдущей версией 5.0.5 была модифицирована, кажется.
Решение: используйте более новые версии Hermit 1.3.8.510 и OWL-API 5.1.0.
Я опубликовал этот ответ на случай, если кто-то еще использует предыдущую версию и пострадал. С искренним уважением.
Comments