我正在运行示例owlapi示例:https://github.com/owlcs/owlapi/tree/master/contract/src/test/java/org/coode/owlapi/example 检索具有奇数字符的类的子类。我的owl文件包含带有奇数字符的类,例如/,(但解析器似乎在奇数字符之前截断它们并最终抛出错误。我已经窥视了ManchesterOWLSyntaxTokenizer,看起来它认为这些奇怪的字符是分隔符。其他任何人都做了这个观察结果?解决方法是什么?顺便说一句,我已经尝试过类似结果的HermiT推理器。另外,在Protege中,如果你尝试在层次结构中添加一个带有奇数字符的新OWLClass名称,它会在类名周围添加单引号要在'DL Query'视图中检索它的子类,我必须使用类名附加的单引号来运行它。内部使用不同的语法标记生成器,而不是截断类名的ManchesterOWLSyntaxTokenizer吗?
答案 0 :(得分:0)
/ character是URI规范中的分隔符;请参阅http://www.ietf.org/rfc/rfc3986.txt,http://www.ietf.org/rfc/rfc3987.txt和http://www.w3.org/2004/11/uri-iri-pressrelease。
类IRI没有解决方法。如果您希望在类名的人类可读版本中使用此类字符,则可以使用rdfs:label
注释,其文本可以包含任何字符,并在向用户显示类时使用rdfs:label
。
单引号Protege节目表示这是rdfs:label
注释的值。