Вопрос

У меня есть проблема с чтением файлов совы / XML из Java с использованием jena.

У меня нет проблем с чтением файлов RDF / XML, но всякий раз, когда я создаю файл сова / XML из Protege и попробуйте прочитать его, Java дает эту ошибку ниже: Warn [Main] (RdfdefaulterRorhandler.java:36) Исключение в теме "Главная" java.lang.nullpointexception at com.hp.hpl.jena.rdf.arp.impl.xmlhnler.eendelement (xmlhandler.java:143)

Код, который я использую для получения RDF / XML ниже:

OntModel ontModel = ModelFactory.createOntologyModel();
InputStream in = FileManager.get().open(inputFileName);
    if (in == null) {
        throw new IllegalArgumentException( "File: " + inputFileName + " not found");
    }
    ontModel.read(in, "");

Этот код отлично работает с RDF / XML. Однако я не могу читать сову / XML. Я посмотрел на интернет, и я не мог ничего найти. Я бы очень признателен, если кто-то показывает мне путь. Большое спасибо

Это было полезно?

Решение

Йена не поддерживает сову / XML. Он судна с читателями для RDF / XML, черепахи (AKA N3) и N-Triple. Смотреть, например здесь Для списка поддерживаемых форматов.

Другие советы

Для совы / XML используйте Сова-API..

Вы можете найти хороший ответ здесь.

Я проверил код, который предоставлен в 4-м ответе, и это работает для меня 100%. Я скопировал ответ здесь для вас.

String inputFileName = "D:\Ontologia\OntoSME_V7.owl";

OntModel onto = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM, null);

try {
    InputStream in = FileManager.get().open(inputFileName);
    onto.read(in, "RDF/XML");
} catch (JenaException je) {
    System.out.println("ERROR" + je.getMessage());
    je.printStackTrace();
    System.exit(0);
}

Вы можете использовать Protege, чтобы сохранить файл в формате RDF / XML и прочитать файл с приведенным выше методикой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top