Сова 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



Большое Спасибо за ваш время.
Искренние пожелания

242   2  

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

    Ничего не найдено.