gpt4 book ai didi

java - 转义 SPARQL 查询中的特殊字符

转载 作者:搜寻专家 更新时间:2023-10-31 19:38:22 24 4
gpt4 key购买 nike

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

ERROR

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

最佳答案

标识符 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 } 

关于java - 转义 SPARQL 查询中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26830175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com