Проблема чтения OWL / XML - PullRequest
       11

Проблема чтения OWL / XML

2 голосов
/ 12 июня 2010

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

У меня нет проблем с чтением файлов RDF / XML, но всякий раз, когда я создаю файл OWL / XML из Protege и пытаюсь его прочитать, Java выдает такую ​​ошибку ниже: WARN [main] (RDFDefaultErrorHandler.java:36)Исключение в потоке "main" java.lang.NullPointerException в com.hp.hpl.jena.rdf.arp.impl.XMLHandler.endElement (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.Тем не менее, я не могу прочитать OWL / XML.Я посмотрел в интернете и ничего не смог найти.Я был бы очень признателен, если бы кто-то показал мне путь.Большое спасибо

Ответы [ 3 ]

3 голосов
/ 14 июня 2010

Для OWL / XML используйте OWL-API .

2 голосов
/ 12 июня 2010

Jena не поддерживает OWL / XML.Он поставляется с ридерами для RDF / XML, Turtle (он же N3) и N-Triples.См. Например здесь для списка поддерживаемых форматов.

0 голосов
/ 27 мая 2015

Хороший ответ вы найдете здесь.

Я проверил код, приведенный в 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 и чтения файла с помощью описанной выше техники.

...