J'ai téléchargé le projet OWL API maven et j'ai ouvert l'implémentation par défaut de l'API OWL. Je veux juste charger une ontologie mais ça me donne une erreur.J'ai chargé l'ontologie d'un document d'ontologie à l'aide de l'API OWL
public static final IRI example_iri2 = IRI.create("http://mged.sourceforge.net/ontologies/MGEDOntology.owl");
public static void main(String[] arg) throws OWLOntologyCreationException {
OWLDataFactoryImpl factoryImpl = new OWLDataFactoryImpl();
ReadWriteLock readWriteLock = new NoOpReadWriteLock();
OWLOntologyManagerImpl managerImpl = new OWLOntologyManagerImpl(factoryImpl, readWriteLock);
OWLOntology ontology = managerImpl.loadOntology(example_iri2);
}
La sortie est:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" org.semanticweb.owlapi.model.OWLOntologyFactoryNotFoundException: Could not find an appropriate factory to load ontology from ontology document: <http://mged.sourceforge.net/ontologies/MGEDOntology.owl>
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1048)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:935)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:891)
at com.main.main.main(main.java:33)
------------------------------------------------------------------------
BUILD FAILURE
Comment puis-je résoudre ce problème? J'ai essayé et ça ne marche pas.
File file = new File("pizza3.owl");
OWLOntology ontology = managerImpl.loadOntologyFromOntologyDocument(file);
Que signifie téléchargé? C'est un projet Maven, il est donc recommandé de l'utiliser via une dépendance Maven. L'ontologie a l'air correcte, donc je suppose que certaines bibliothèques vous manquent. Si vous n'utilisez pas Maven, vous devez ajouter tous les fichiers Jar API OWL à votre chemin de classe. – AKSW
Et je vous suggère de suivre les exemples de l'API OWL: Un 'OWLOntologyManager' sera créé via' OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); ' – AKSW
@AKSW non j'ai ajouté toutes les dépendances – NASRIN