对SPARQL查询中的特殊字符进行转义



我正在尝试使用Jena和ARQ查询dpbedia以获取一些维基百科文章的类别
例如:

select ?category { dbpedia:ARTICLE_NAME dcterms:subject ?category }  

下面是一个工作查询的示例
SPARQL结果

问题是ARTICLE_NAME中有特殊字符时,例如"Parma_F.C",其中有"."

select ?category { dbpedia:Parma_F.C. dcterms:subject ?category } 

错误

所以,我想问你是否有人对此有解决方案
提前感谢

标识符dbpedia:Parma_F.C.是一个所谓的前缀名称,即完整URI的缩写形式。SPARQL1.1查询语言规范中描述了它的完整语法规则。

问题特别在于前缀名称末尾的句号。根据SPARQL语法,前缀名称不能以句号结尾,除非转义。修复方法只是使用反斜杠:

 dbpedia:Parma_F.C. 

作为替代方案,您也可以只写出完整的URI。dbpedia前缀映射到http://dbpedia.org/resource/命名空间,因此SPARQL中的完整URI将变为:

 <http://dbpedia.org/resource/Parma_F.C.>

完整的查询将变成:

select ?category { <http://dbpedia.org/resource/Parma_F.C.> dcterms:subject ?category } 

相关内容

  • 没有找到相关文章

最新更新