Обновление проблемы OWL с библиотекой JENA и Protege - PullRequest
4 голосов
/ 13 декабря 2010

Я не могу сохранить какое-либо записывающее обновление в свой файл RDF / XML OWL с помощью Protege.Каждый раз, когда я закрываю приложение, я теряю все свои изменения.Я использовал библиотеку JENA для чтения этого файла следующим образом:

OntModel model = ModelFactory.createOntologyModel (OntModelSpec.OWL_DL_MEM,null);
model.setNsPrefix(“”, ns);
FileInputStream fis = new FileInputStream(this.sourceFile);
model.read(fis,ns);

Я пытался исправить эту проблему следующим образом:

FileOutputStream fos = new FileOutputStream(this.sourceFile);
model.writeAll(fos, "RDF/XML-ABBREV","xmlbase");
model.close();

Но мой файл очищается и, наконецпустой.Если я вместо этого пытаюсь переименовать выходной файл, он работает нормально (стараясь избежать совпадения выходного файла с входным файлом).

В конце мой вопрос: как я могу обновить мой OWL-файл?*

1 Ответ

0 голосов
/ 02 февраля 2011

Я бы сказал, что вы должны быть уверены, что вы правильно закрыли оба потока.В частности, вы должны закрыть fis перед открытием fos с тем же именем файла.

Кстати, "xmlbase" не является допустимым базовым URI для написания модели.Если вы не хотите использовать базовый URI для генерации относительных URI в теле выходного документа, передайте null для этого аргумента.

...