Sparql查询/重音字符

时间:2017-05-10 08:42:21

标签: regex sparql

我正在尝试查询开放教育资源的SPARQL端点,以便选择在其描述中具有特定字符串的资源。当我正在处理法语描述时,我遇到了包含重音字符的字符串的问题。例如,在此SPARQL查询中:

SELECT DISTINCT ?s ?o WHERE {
  ?s dc:description ?o. 
  FILTER ( regex(str(?o),"structure de donnée", "i"))
}

é变为é,然后查询无法识别资源描述中的字符串。

我该如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:1)

非常粗略地说:

  1. SNORQL GUI发送使用encodeURIComponent Javascript函数编码的SPARQL查询。
  2. Sesame SPARQL Endpoint假定SPARQL查询是使用escape Javascript函数编码的。
  3. 稍后,SNORQL GUI假定其自己的查询使用escape Javascript函数进行编码。
  4. this fiddle。顺便说一下,这个端点中没有任何关于“结构dedonnée”的内容,我写了“结构despuréines”。

    我不知道如何以舒适的方式使用此端点。作为一种解决方法,您可以在SNORQL GUI中编写如下内容:

    SELECT DISTINCT ?s ?o WHERE {
      ?s dc:description ?o. 
      FILTER ( regex(str(?o), "structure des prot\u00e9ines", "i"))
    }