2017-09-07 3 views
1

Je crée une ontologie personnalisée (Ontology A) et j'obtiens une exception "FileNotFoundException" concernant une importation indirecte lorsque j'essaie d'importer une autre ontologie que j'ai créée (Ontology B), en utilisant la commande "Importer une ontologie contenue" dans un fichier spécifique. " option. Ontologie B importe avec succès l'ontologie Micropublications (peut être trouvé here) après l'avoir téléchargé localement dans un fichier nommé micropublications.owl. Tout en important micropublications.owl, j'utilise le "Importer une ontologie contenue dans un fichier specfic". option et tout fonctionne bien. Je vérifie la section "import" dans le protégé et tout semble bien, il y a un "Location" spécifique pointant vers le fichier téléchargé, etc.FileNotFoundExeption concernant l'importation indirecte

Lorsque j'essaie d'importer l'ontologie B dans l'ontologie A, elle échoue et le fichier journal contient la pile complète suivant trace

2017-09-07 11:28:20.907 [Thread-3] INFO LastResortExtractor Exception caught trying to get ontology id for file:/C:/Users/.../OntologyB.owl 
org.semanticweb.owlapi.model.UnloadableImportException: Could not load imported ontology: <http://purl.org/mp/> Cause: http://purl.org/mp/ 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.makeLoadImportRequest(OWLOntologyManagerImpl.java:1709) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at org.semanticweb.owlapi.owlxml.parser.OWLImportsHandler.endElement(PARSER_OWLXMLVocabulary.java:3004) ~[na:na] 
    at org.semanticweb.owlapi.owlxml.parser.OWLXMLParserHandler.endElement(OWLXMLParserHandler.java:422) ~[na:na] 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2973) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649) ~[na:1.8.0_40] 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333) ~[na:1.8.0_40] 
    at org.semanticweb.owlapi.owlxml.parser.OWLXMLParser.parse(OWLXMLParser.java:60) ~[na:na] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:197) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.actualParse(OWLOntologyManagerImpl.java:1099) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1055) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:998) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at org.protege.editor.owl.model.repository.extractors.LastResortExtractor.getOntologyId(LastResortExtractor.java:21) ~[protege-editor-owl.jar:na] 
    at org.protege.editor.owl.model.repository.MasterOntologyIDExtractor.getOntologyId(MasterOntologyIDExtractor.java:26) [protege-editor-owl.jar:na] 
    at org.protege.editor.owl.ui.ontology.imports.wizard.page.AnticipateOntologyIdPage.checkImport(AnticipateOntologyIdPage.java:109) [protege-editor-owl.jar:na] 
    at org.protege.editor.owl.ui.ontology.imports.wizard.page.AnticipateOntologyIdPage.lambda$new$163(AnticipateOntologyIdPage.java:44) [protege-editor-owl.jar:na] 
    at org.protege.editor.owl.ui.ontology.imports.wizard.page.AnticipateOntologyIdPage$$Lambda$120/769332687.run(Unknown Source) [protege-editor-owl.jar:na] 
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40] 
Caused by: org.semanticweb.owlapi.io.OWLOntologyCreationIOException: http://purl.org/mp/ 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:207) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.actualParse(OWLOntologyManagerImpl.java:1099) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1055) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:957) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadImports(OWLOntologyManagerImpl.java:1666) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.makeLoadImportRequest(OWLOntologyManagerImpl.java:1702) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    ... 25 common frames omitted 
Caused by: java.io.FileNotFoundException: http://purl.org/mp/ 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_40] 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_40] 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_40] 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_40] 
    at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1889) ~[na:1.8.0_40] 
    at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1884) ~[na:1.8.0_40] 
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40] 
    at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1883) ~[na:1.8.0_40] 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1456) ~[na:1.8.0_40] 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440) ~[na:1.8.0_40] 
    at org.semanticweb.owlapi.io.AbstractOWLParser.getInputStreamFromContentEncoding(AbstractOWLParser.java:165) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at org.semanticweb.owlapi.io.AbstractOWLParser.getInputStream(AbstractOWLParser.java:127) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at org.semanticweb.owlapi.io.AbstractOWLParser.getInputSource(AbstractOWLParser.java:232) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:72) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:197) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    ... 30 common frames omitted 
Caused by: java.io.FileNotFoundException: http://purl.org/mp/ 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1835) ~[na:1.8.0_40] 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440) ~[na:1.8.0_40] 
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[na:1.8.0_40] 
    at org.semanticweb.owlapi.io.AbstractOWLParser.getInputStream(AbstractOWLParser.java:103) ~[owlapi-osgidistribution.jar:4.2.8.20170104-2310] 
    ... 33 common frames omitted 
2017-09-07 11:28:20.907 [Thread-3] ERROR AnticipateOntologyIdPage An error occurred whilst extracting the Ontology Id from the imported ontology: {} 
java.lang.NullPointerException: null 
    at org.protege.editor.owl.model.repository.MasterOntologyIDExtractor.getOntologyId(MasterOntologyIDExtractor.java:27) ~[protege-editor-owl.jar:na] 
    at org.protege.editor.owl.ui.ontology.imports.wizard.page.AnticipateOntologyIdPage.checkImport(AnticipateOntologyIdPage.java:109) [protege-editor-owl.jar:na] 
    at org.protege.editor.owl.ui.ontology.imports.wizard.page.AnticipateOntologyIdPage.lambda$new$163(AnticipateOntologyIdPage.java:44) [protege-editor-owl.jar:na] 
    at org.protege.editor.owl.ui.ontology.imports.wizard.page.AnticipateOntologyIdPage$$Lambda$120/769332687.run(Unknown Source) [protege-editor-owl.jar:na] 
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40] 
2017-09-07 11:28:25.679 [pool-2-thread-1] INFO AddImportsStrategy -------------------- Importing ontology and imports closure -------------------- 

Il semble que Protege cherche le modèle Micropublications dans un fichier du nom de son URI de base et non l'emplacement du fichier en fait, clairement indiqué dans la déclaration d'importation respective de ontologie B. Veuillez noter que l'ontologie B importe également d'autres ontologies qui ne posent aucun problème dans l'ontologie A.

Des idées sur ce qui ne va pas?

PS J'utilise Protege 5.2.0.

Répondre

1

J'ai trouvé une solution de contournement qui pourrait être utile à d'autres. Quand je charge l'ontologie B et l'ontologie A dans la même fenêtre protégée, je peux importer l'ontologie B en utilisant l'option "Importer une ontologie déjà chargée dans l'espace de travail" et tout semble fonctionner.

Espérons que cela vous soit utile