为什么OWL API RDF XML Parser无法用两个哈希解析IRI?

时间:2013-12-20 05:36:06

标签: rdf semantic-web owl ontology iri

我正在尝试使用OWL API加载本体。

其中一项资源'IRI为http://example.com/#1#2'

发生以下异常:

Parser: RDFXMLParser
org.semanticweb.owlapi.rdf.syntax.RDFParserException: [line=129:column=52] IRI 'http://example.com/#1#2' cannot be resolved against curent base IRI http://example.com/ontology/demo.owl

如果我将IRI更改为http://example.com/#1',那么一切都很好。

为什么OWL API的RDFXMLParser无法通过两个哈希解析IRI?

1 个答案:

答案 0 :(得分:3)

http://example.com/#1#2不是合法的IRI,因此您不能将其视为一体。例如,如果您将其粘贴到SPARQLer IRI Validator,则会获得output

  

IRI报告

     

http://example.com/#1#2 ==> http://example.com/#1#2
  <http://example.com/#1#2> Code: 0/ILLEGAL_CHARACTER in FRAGMENT: The character violates the grammar rules for URIs/IRIs.

如果您创建了本体,那么您需要更加小心您正在使用的IRI。如果其他人创建了它,那么您应该让他们知道他们正在生成错误的数据。作为一种解决方法,您可以通过某种方式对本体进行预处理,以便对这些错误的IRI执行某些操作(例如,在第一个#之后对文本进行URLencode编码)。