0

我在以下位置运行示例 owlapi 示例:https ://github.com/owlcs/owlapi/tree/master/contract/src/test/java/org/coode/owlapi/example 检索具有奇数字符的类的子类。我的 owl 文件包含具有奇数字符的类,例如 /, ( 但解析器似乎在奇数字符之前截断它们并最终引发错误。我已经窥视了 ManchesterOWLSyntaxTokenizer,看起来它认为这些奇数字符是分隔符。其他人这个观察?解决方法是什么?顺便说一句,我尝试了 HermiT 推理器,结果相似。此外,在 Protege 中,如果您尝试将具有奇数字符的新 OWLClass 名称添加到层次结构中,它会在类名周围添加单引号.要在“DL Query”视图中检索其子类,我必须在类名周围添加单引号来运行它。protege 在内部是否使用我可以使用的不同语法标记器,而不是截断类名的 ManchesterOWLSyntaxTokenizer?

4

1 回答 1

0

/ 字符是 URI 规范中的分隔符;见http://www.ietf.org/rfc/rfc3986.txthttp://www.ietf.org/rfc/rfc3987.txthttp://www.w3.org/2004/11/uri-iri -新闻稿

IRI 类没有解决方法。如果您希望在类名的人类可读版本中使用此类字符,您可以使用rdfs:label注释,其文本可以包含任何字符,并rdfs:label在向用户显示类时使用。

Protege 显示的单引号表示这是rdfs:label注释的值。

于 2014-05-07T06:17:49.443 回答