繁体   English   中英

在SPARQL中进行字符串匹配时,如何忽略带重音符号的字符

[英]How can I ignore accented characters when string matching in SPARQL

我不知道如何在不考虑重音的情况下比较不同的标签。

下一个查询不会返回该位置,因为“Ibáñez”在西班牙语DBpedia中带有重音,但是在我的数据源中它具有不同的重音。

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

SELECT DISTINCT ?iri

WHERE {

  ?iri rdfs:label ?label .
  ?label  bif:contains  "'Blasco Ibañez'" .

  ?iri ?location ?city .
  FILTER (?location = <http://dbpedia.org/ontology/location> ||  <http://dbpedia.org/ontology/wikiPageWikiLink>) .
  ?city bif:contains "valencia" 

} LIMIT 100

有没有办法不考虑口音?

问题是西班牙语DBpedia端点当前配置 (您可能会发现我用来检查其配置的查询很有趣。)

他们的virtuoso.ini必须调整为包括-

[I18N]
XAnyNormalization=3

-如INI文件文档中所述 ,以及在@StanislavKralin的注释中引用的有关“自由文本索引和查询中UNICODE3重音字符的规范化”文章中进一步讨论。

(注意-在撰写本文时,文档中有一个错字;关于“ WideFileNames = 1/2/3/0 ”的部分应说这与“ XAnyNormalization = 1/2/3/0 ”有关)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM