Question

J'ai un problème de lecture OWL / fichiers XML de Java en utilisant Jena.

Je n'ai pas de problème de lecture RDF / fichiers XML, mais chaque fois que je crée un fichier OWL / XML à partir Protege et essayer de le lire, Java donne cette erreur ci-dessous: WARN [main] (RDFDefaultErrorHandler.java:36) Exception dans le thread java.lang.NullPointerException "principal"  à com.hp.hpl.jena.rdf.arp.impl.XMLHandler.endElement (XMLHandler.java:143)

Le code que j'utilise pour récupérer RDF / XML est ci-dessous:

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

Ce code fonctionne avec RDF / XML parfaitement. Cependant, je ne peux pas lire un OWL / XML. Je regardais Internet et je ne pouvais pas trouver quoi que ce soit. Je voudrais vraiment apprécier, si quelqu'un me montre un chemin. Un grand merci

Était-ce utile?

La solution

Jena ne supporte pas OWL / XML. Il est livré avec les lecteurs pour RDF / XML, tortue (N3 a.k.a.) et N-Triples. Voir par exemple ici pour la liste des formats pris en charge.

Autres conseils

Pour une utilisation OWL / XML OWL-API .

Vous pouvez trouver une bonne réponse ici.

J'ai testé le code fourni dans la 4ème réponse et cela fonctionne pour moi à 100%. Je copiais la réponse ici pour vous.

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);
}

vous pouvez utiliser protege pour enregistrer le fichier dans RDF / format XML et lire le fichier avec la technique ci-dessus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top