我正在尝试使用Jena和ARQ查询dpbedia以获取某些维基百科文章的类别 例如:
select ?category { dbpedia:ARTICLE_NAME dcterms:subject ?category }
以下是工作查询的示例
SPARQL results
问题是当ARTICLE_NAME中有特殊字符时,例如“Parma_F.C。”,其中有“。”
select ?category { dbpedia:Parma_F.C. dcterms:subject ?category }
所以,我想问你是否有人有解决方案。
提前致谢
答案 0 :(得分:8)
标识符dbpedia:Parma_F.C.
是所谓的前缀名称,即完整URI的缩写形式。它的完整语法规则在SPARQL 1.1 Query Language specification中描述。
问题特别是在前缀名称末尾的句号。根据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 }