一种可以从 URI 中形成 QName,例如http://dbpedia.org/resource/Jesuit_Church,_Mannheim
?Dbpedia将此列为,但是当我通过Jenadbpedia:Jesuit_Church,_Mannheim
的 Turtle 解析器运行此 QName 时,我得到以下异常:
Not a valid token for an RDF term: [COMMA]
这在Turtle 规范下是有意义的,它显然从 QNames 中排除了逗号。然而,XML 1.0 规范中的命名空间显然允许在其中包含“任何 Unicode 字符,不包括代理块、FFFE 和 FFFF”。
那么哪个规范是“正确的”以及如何(如果有的话)在 Turtle 文档中以缩写形式使用此类 URI?我尝试过百分比编码,但在这种情况下,Jena 的海龟解析器显然返回了一个模型,该模型保留了转义的 URI,即http://dbpedia.org/resource/Jesuit_Church%2C_Mannheim
而不是http://dbpedia.org/resource/Jesuit_Church,_Mannheim
,这会导致以后的字符串比较(在我的代码中)失败。
更新我必须在转义时出错。正如在接受的答案中指出的那样,确实可以使用dbpedia:Jesuit_Church\,_Mannheim
,例如使用 Jena 2.11.0。