可以从http://dbpedia.org/resource/Jesuit_Church,_Mannheim
这样的URI中形成QNames吗? Dbpedia将此列为dbpedia:Jesuit_Church,_Mannheim
,但是当我运行此QName时,例如通过Jena的Turtle解析器,我得到以下异常:
Not a valid token for an RDF term: [COMMA]
这在Turtle specification下有意义,显然不包括QNames中的逗号。但是Namespaces in XML 1.0 specification显然允许“任何Unicode字符,不包括代理块,FFFE和FFFF”。
那么哪个规范是“正确的”以及如何(如果有的话)我可以在Turtle文档中以缩写形式使用这样的URI?我已经尝试了percent encoding但是在这种情况下,Jena的乌龟解析器显然返回了一个保留转义URI的模型,即http://dbpedia.org/resource/Jesuit_Church%2C_Mannheim
而不是http://dbpedia.org/resource/Jesuit_Church,_Mannheim
,这导致后来的字符串比较(在我的代码中)失败。
更新我必须在逃避时犯了错误。正如在接受的答案中指出的那样,确实可以使用dbpedia:Jesuit_Church\,_Mannheim
,例如与耶拿2.11.0。
答案 0 :(得分:4)
在Turtle(CR)的一个注释中says:
带前缀的名称是XML QNames的超集。它们的不同之处在于前缀名称的本地部分可能包括:
- 前导数字,例如
leg:3032571
或isbn13:9780136019701
- 非领先冒号,例如
og:video:height
- 保留字符转义序列,例如
wgs:lat\-long
→Reserved character escape sequences
[...]由一个'\'后跟一个
~.-!$&'()*+,;=/?#@%_
组成,并代表'\'右边的字符。
所以应该可以使用:
dbpedia:Jesuit_Church\,_Mannheim