Display-Lab / psdo

Performance Summary Display Ontology
https://display-lab.github.io/psdo/
Other
3 stars 3 forks source link

make-dict.sh dependancies on catalog require changes #137

Closed CooperStansbury closed 6 years ago

CooperStansbury commented 6 years ago

The changes we made the to the import catalog make it so that robot cannot run the make-dict.sh script. The robot query fails on ontology imports, specifically those that I commented out. The error message is the following: org.semanticweb.owlapi.model.UnloadableImportException: Could not load imported ontology: and persists even when rerunning the modified download-catalog.sh script.

Full exception below: org.semanticweb.owlapi.model.UnloadableImportException: Could not load imported ontology: <http://purl.obolibrary.org/obo/ro/annotations.owl> Cause: /Users/MILK/Desktop/Work/_Research_DLHS/TEMP/fio/src/ontology/imports/annotations.owl (No such file or directory) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.makeLoadImportRequest(OWLOntologyManagerImpl.java:1690) at org.semanticweb.owlapi.rdf.rdfxml.parser.TripleHandlers$TPImportsHandler.handleTriple(TripleHandlers.java:1558) at org.semanticweb.owlapi.rdf.rdfxml.parser.TripleHandlers$HandlerAccessor.handleStreaming(TripleHandlers.java:194) at org.semanticweb.owlapi.rdf.rdfxml.parser.OWLRDFConsumer.statementWithResourceValue(OWLRDFConsumer.java:1501) at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.statementWithResourceValue(RDFParser.java:365) at org.semanticweb.owlapi.rdf.rdfxml.parser.EmptyPropertyElement.startElement(StartRDF.java:236) at org.semanticweb.owlapi.rdf.rdfxml.parser.PropertyElementList.startElement(StartRDF.java:658) at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.startElement(RDFParser.java:196) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.parse(RDFParser.java:140) at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:73) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:197) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.actualParse(OWLOntologyManagerImpl.java:1098) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1054) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:957) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadImports(OWLOntologyManagerImpl.java:1648) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.makeLoadImportRequest(OWLOntologyManagerImpl.java:1684) at org.semanticweb.owlapi.rdf.rdfxml.parser.TripleHandlers$TPImportsHandler.handleTriple(TripleHandlers.java:1558) at org.semanticweb.owlapi.rdf.rdfxml.parser.TripleHandlers$HandlerAccessor.handleStreaming(TripleHandlers.java:194) at org.semanticweb.owlapi.rdf.rdfxml.parser.OWLRDFConsumer.statementWithResourceValue(OWLRDFConsumer.java:1501) at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.statementWithResourceValue(RDFParser.java:365) at org.semanticweb.owlapi.rdf.rdfxml.parser.EmptyPropertyElement.startElement(StartRDF.java:236) at org.semanticweb.owlapi.rdf.rdfxml.parser.PropertyElementList.startElement(StartRDF.java:658) at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.startElement(RDFParser.java:196) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.parse(RDFParser.java:140) at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:73) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:197) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.actualParse(OWLOntologyManagerImpl.java:1098) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1054) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:1004) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:1015) at org.obolibrary.robot.IOHelper.loadOntology(IOHelper.java:278) at org.obolibrary.robot.IOHelper.loadOntology(IOHelper.java:172) at org.obolibrary.robot.CommandLineHelper.getInputOntology(CommandLineHelper.java:280) at org.obolibrary.robot.CommandLineHelper.updateInputOntology(CommandLineHelper.java:333) at org.obolibrary.robot.CommandLineHelper.updateInputOntology(CommandLineHelper.java:302) at org.obolibrary.robot.QueryCommand.execute(QueryCommand.java:126) at org.obolibrary.robot.CommandManager.executeCommand(CommandManager.java:219) at org.obolibrary.robot.CommandManager.execute(CommandManager.java:161) at org.obolibrary.robot.CommandManager.main(CommandManager.java:121) at org.obolibrary.robot.CommandLineInterface.main(CommandLineInterface.java:53) Caused by: org.semanticweb.owlapi.io.OWLOntologyCreationIOException: /Users/MILK/Desktop/Work/_Research_DLHS/TEMP/fio/src/ontology/imports/annotations.owl (No such file or directory) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:207) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.actualParse(OWLOntologyManagerImpl.java:1098) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1054) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:957) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadImports(OWLOntologyManagerImpl.java:1648) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.makeLoadImportRequest(OWLOntologyManagerImpl.java:1684) ... 61 more Caused by: java.io.FileNotFoundException: /Users/MILK/Desktop/Work/_Research_DLHS/TEMP/fio/src/ontology/imports/annotations.owl (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at java.io.FileInputStream.<init>(FileInputStream.java:93) at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90) at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188) at org.semanticweb.owlapi.io.AbstractOWLParser.getInputStreamFromContentEncoding(AbstractOWLParser.java:165) at org.semanticweb.owlapi.io.AbstractOWLParser.getInputStream(AbstractOWLParser.java:127) at org.semanticweb.owlapi.io.AbstractOWLParser.getInputSource(AbstractOWLParser.java:232) at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:72) at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:197) ... 66 more java.lang.IllegalArgumentException: A valid input ontology must be specified at org.obolibrary.robot.CommandLineHelper.updateInputOntology(CommandLineHelper.java:337) at org.obolibrary.robot.CommandLineHelper.updateInputOntology(CommandLineHelper.java:302) at org.obolibrary.robot.QueryCommand.execute(QueryCommand.java:126) at org.obolibrary.robot.CommandManager.executeCommand(CommandManager.java:219) at org.obolibrary.robot.CommandManager.execute(CommandManager.java:161) at org.obolibrary.robot.CommandManager.main(CommandManager.java:121) at org.obolibrary.robot.CommandLineInterface.main(CommandLineInterface.java:53)

CooperStansbury commented 6 years ago

I commented out a few lines in fio-edit.owl and catalog-v001.xml regarding unused imports that robot was attempting to import when building the dictionary. This worked and I've updated the branch 'term-dev' with those changes.

grosscol commented 6 years ago

Robot was looking for the file associated with http://purl.obolibrary.org/obo/ro/annotations.owl

It was looking here: /Users/MILK/Desktop/Work/_Research_DLHS/TEMP/fio/src/ontology/imports/annotations.owl

You're on the term-dev branch? The line to download the file is commented out in download-catalog.sh so rerunning that isn't going to help as it stands.

# wget -nc --directory-prefix="${ABS_IMPORTS_DIR}" "http://purl.obolibrary.org/obo/ro/annotations.owl"

I'm not seeing annotations.owl directly imported in fio, but you do have it listed in the catalog.

    <uri id="User Edited Redirect" name="http://purl.obolibrary.org/obo/ro/annotations.owl" uri="imports/annotations.owl"/>

I expect that this IRI is being imported indirectly, and when that happens, the catalog is consulted. The corresponding file is then looked for, and in this case, is not present. Then it blows up with the error.

CooperStansbury commented 6 years ago

Forgot to push that change, this is working locally. I fixed this by making sure that fio-edit.owl , catalog-v001.xml and download-catalog.sh are all coordinated, i.e., only importing the following:

http://purl.obolibrary.org/obo/MFOEM.owl
http://purl.obolibrary.org/obo/ro/core.owl
http://purl.obolibrary.org/obo/bfo/2.0/bfo.owl
http://purl.obolibrary.org/obo/IAO.owl

All other ontologies have been commented out, not deleted. robot was falling back on catalog-v001.xmlwhen it the OWL file wasn't in the imports directory. Closing for now.