无法使用 Protege 导入 ontology
Unable to import ontology with Protege
我正在尝试在我之前创建的 Protege 中加载 ontology 的早期版本。但是,我在使用 TutleOntologyParser 时遇到以下错误(我将 ontology 保存为 Turtle 文件):
uk.ac.manchester.cs.owl.owlapi.turtle.parser.ParseException: Encountered " <PNAME_LN> ":isNotGivenCombo "" at line 38, column 1.
Was expecting:
"." ...
在文本编辑器中打开,这是我从第 36-40 行得到的内容:
### http://purl.org/net/ontologyName/isNotGivenCombo
:isNotGivenCombo rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf :isNotGiven .
其他解析器抛出不同的错误。是什么导致了这个问题?我该如何解决?
这是完整的堆栈跟踪:
uk.ac.manchester.cs.owl.owlapi.turtle.parser.ParseException:在第 38 行第 1 列遇到“”:isNotGivenCombo“”。
期待:
“。” ...
Full Stack Trace
-----------------------------------------------------------------------------------------
uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleParserException: uk.ac.manchester.cs.owl.owlapi.turtle.parser.ParseException: Encountered " <PNAME_LN> ":isNotGivenCombo "" at line 38, column 1.
Was expecting:
"." ...
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleOntologyParser.parse(TurtleOntologyParser.java:129)
at uk.ac.manchester.cs.owl.owlapi.ParsableOWLOntologyFactory.loadOWLOntology(ParsableOWLOntologyFactory.java:216)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:868)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:797)
at org.protege.editor.owl.model.OWLModelManagerImpl.loadOntologyFromPhysicalURI(OWLModelManagerImpl.java:298)
at org.protege.editor.owl.OWLEditorKit.handleLoadFrom(OWLEditorKit.java:207)
at org.protege.editor.owl.OWLEditorKit.handleLoadRequest(OWLEditorKit.java:201)
at org.protege.editor.core.ui.action.OpenAction.openInCurrentWorkspace(OpenAction.java:65)
at org.protege.editor.core.ui.util.UIUtil.openRequest(UIUtil.java:227)
at org.protege.editor.core.ui.action.OpenAction.actionPerformed(OpenAction.java:33)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access0(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: uk.ac.manchester.cs.owl.owlapi.turtle.parser.ParseException: Encountered " <PNAME_LN> ":isNotGivenCombo "" at line 38, column 1.
Was expecting:
"." ...
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleParser.generateParseException(TurtleParser.java:1968)
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleParser.jj_consume_token(TurtleParser.java:1829)
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleParser.parseDocument(TurtleParser.java:107)
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleOntologyParser.parse(TurtleOntologyParser.java:121)
... 48 more
问题解决了。我的基本 uri 以 /
结尾,而使用 Protege 为域和范围生成的 URI 以 #
开头。因此,某些正在形成的 URI 具有 /#
,这是不允许的。例如:
www.example.com/#somedomain
为了更正错误,我将所有 :#
替换为 :
并将基本 uri 设置为以 #
结尾,即 www.example.com#
.
我正在尝试在我之前创建的 Protege 中加载 ontology 的早期版本。但是,我在使用 TutleOntologyParser 时遇到以下错误(我将 ontology 保存为 Turtle 文件):
uk.ac.manchester.cs.owl.owlapi.turtle.parser.ParseException: Encountered " <PNAME_LN> ":isNotGivenCombo "" at line 38, column 1.
Was expecting:
"." ...
在文本编辑器中打开,这是我从第 36-40 行得到的内容:
### http://purl.org/net/ontologyName/isNotGivenCombo
:isNotGivenCombo rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf :isNotGiven .
其他解析器抛出不同的错误。是什么导致了这个问题?我该如何解决?
这是完整的堆栈跟踪:
uk.ac.manchester.cs.owl.owlapi.turtle.parser.ParseException:在第 38 行第 1 列遇到“”:isNotGivenCombo“”。 期待: “。” ...
Full Stack Trace
-----------------------------------------------------------------------------------------
uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleParserException: uk.ac.manchester.cs.owl.owlapi.turtle.parser.ParseException: Encountered " <PNAME_LN> ":isNotGivenCombo "" at line 38, column 1.
Was expecting:
"." ...
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleOntologyParser.parse(TurtleOntologyParser.java:129)
at uk.ac.manchester.cs.owl.owlapi.ParsableOWLOntologyFactory.loadOWLOntology(ParsableOWLOntologyFactory.java:216)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:868)
at uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:797)
at org.protege.editor.owl.model.OWLModelManagerImpl.loadOntologyFromPhysicalURI(OWLModelManagerImpl.java:298)
at org.protege.editor.owl.OWLEditorKit.handleLoadFrom(OWLEditorKit.java:207)
at org.protege.editor.owl.OWLEditorKit.handleLoadRequest(OWLEditorKit.java:201)
at org.protege.editor.core.ui.action.OpenAction.openInCurrentWorkspace(OpenAction.java:65)
at org.protege.editor.core.ui.util.UIUtil.openRequest(UIUtil.java:227)
at org.protege.editor.core.ui.action.OpenAction.actionPerformed(OpenAction.java:33)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access0(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: uk.ac.manchester.cs.owl.owlapi.turtle.parser.ParseException: Encountered " <PNAME_LN> ":isNotGivenCombo "" at line 38, column 1.
Was expecting:
"." ...
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleParser.generateParseException(TurtleParser.java:1968)
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleParser.jj_consume_token(TurtleParser.java:1829)
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleParser.parseDocument(TurtleParser.java:107)
at uk.ac.manchester.cs.owl.owlapi.turtle.parser.TurtleOntologyParser.parse(TurtleOntologyParser.java:121)
... 48 more
问题解决了。我的基本 uri 以 /
结尾,而使用 Protege 为域和范围生成的 URI 以 #
开头。因此,某些正在形成的 URI 具有 /#
,这是不允许的。例如:
www.example.com/#somedomain
为了更正错误,我将所有 :#
替换为 :
并将基本 uri 设置为以 #
结尾,即 www.example.com#
.