如何解决导入 OWL 时 Protege 中的未知协议
我使用的是 Protege 5.5。当我用这样的东西打开一个现有的 owl 文件时,
<owl:Ontology rdf:about="http://example.org/eg/Robot.owl">
<owl:imports rdf:resource="package://example/owl/blah.owl"/>
</owl:Ontology>
即使 IRI 以 package://
开头,Protege 也能正确解析导入。
Imported ontology document package://example/owl/blah.owl was resolved to Optional[file:/home/user/owl/blah.owl] by the ontology catalog.
但是当我创建一个新的 OWL 文件并尝试执行手动“直接导入”时,出现错误:
Malformed URL: UnkNown protocol: package
java.net.MalformedURLException: UnkNown protocol: package
java.net.MalformedURLException: UnkNown protocol: package
at java.net.URL.<init>(URL.java:627) ~[na:1.8.0_121]
at java.net.URL.<init>(URL.java:490) ~[na:1.8.0_121]
at java.net.URL.<init>(URL.java:439) ~[na:1.8.0_121]
at java.net.URI.toURL(URI.java:1089) ~[na:1.8.0_121]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.canLoad(OWLOntologyFactoryImpl.java:159) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.actualParse(OWLOntologyManagerImpl.java:1256) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1215) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1115) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadImports(OWLOntologyManagerImpl.java:1833) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.makeLoadImportRequest(OWLOntologyManagerImpl.java:1871) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at org.semanticweb.owlapi.rdf.rdfxml.parser.TripleHandlers$TPImportsHandler.handleTriple(TripleHandlers.java:1651) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at org.semanticweb.owlapi.rdf.rdfxml.parser.TripleHandlers$HandlerAccessor.handleStreaming(TripleHandlers.java:278) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at org.semanticweb.owlapi.rdf.rdfxml.parser.OWLRDFConsumer.statementWithResourceValue(OWLRDFConsumer.java:1554) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.statementWithResourceValue(RDFParser.java:370) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at org.semanticweb.owlapi.rdf.rdfxml.parser.EmptyPropertyElement.startElement(StartRDF.java:236) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at org.semanticweb.owlapi.rdf.rdfxml.parser.PropertyElementList.startElement(StartRDF.java:658) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.startElement(RDFParser.java:201) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) [na:1.8.0_121]
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327) [na:1.8.0_121]
at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFParser.parse(RDFParser.java:145) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:73) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:221) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.actualParse(OWLOntologyManagerImpl.java:1262) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:1215) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:1172) [owlapi-osgidistribution.jar:4.5.9.2019-02-01T07:24:44Z]
at org.protege.editor.owl.ui.ontology.imports.AddImportsstrategy.loadImportsInternal(AddImportsstrategy.java:103) [protege-editor-owl.jar:na]
at org.protege.editor.owl.ui.ontology.imports.AddImportsstrategy.lambda$addImportsInOtherThread$1(AddImportsstrategy.java:64) [protege-editor-owl.jar:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
Caused by: java.lang.IllegalStateException: UnkNown protocol: package
at org.apache.Felix.framework.URLHandleRSStreamHandlerProxy.parseURL(URLHandleRSStreamHandlerProxy.java:373) ~[org.apache.Felix.main.jar:na]
at java.net.URL.<init>(URL.java:622) ~[na:1.8.0_121]
... 41 common frames omitted
我尝试编辑 catalog-v001.xml
文件,所有使用 package://
导入的条目都已重定向到 owl 文件的物理位置,但错误仍然存在。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。