一个来自URI的表单QNames (如http://dbpedia.org/resource/Jesuit_Church,_Mannheim?Dbpedia )可以将它列出为dbpedia:Jesuit_Church,_Mannheim,但是当我运行这个QName (例如通过耶娜的Turtle解析器)时,我会得到以下例外:
Not a valid token for an RDF term: [COMMA]这在海龟规格下是有意义的,因为它显然将逗号从QNames中排除在外。然而,XML1.0规范中的命名空间显然允许“任何Unicode字符,不包括代理块,FFFE和FFFF”。
那么哪种规范是“正确的”,我如何(如果有的话)在Turtle文档中使用这种缩写形式的URI呢?我尝试过百分比编码,但在本例中,Jena的海龟解析器显然返回一个保留转义URI的模型,即http://dbpedia.org/resource/Jesuit_Church%2C_Mannheim而不是http://dbpedia.org/resource/Jesuit_Church,_Mannheim,该模型会导致以后的字符串比较(在我的代码中)失败。
UPDATE我一定是在转义时出错了。正如公认的答案中指出的那样,确实可以使用dbpedia:Jesuit_Church\,_Mannheim,例如与Jena 2.11.0一起使用。
发布于 2014-01-05 14:03:24
在“海龟”(CR)中的一个注解中,it 他说
前缀名称是XML QNames的超集。它们的不同之处在于前缀名称的本地部分可能包括:
leg:3032571或isbn13:9780136019701og:video:heightwgs:lat\-long→保留字符转义序列
…由'\‘后面的一个
~.-!$&'()*+,;=/?#@%_组成,并表示'\’右边的字符。
因此,应该可以使用:
dbpedia:Jesuit_Church\,_Mannheimhttps://stackoverflow.com/questions/20930758
复制相似问题