我正在尝试使用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 }