我正在尝试查询开放教育资源的SPARQL端点,以便选择在其描述中具有特定字符串的资源。当我正在处理法语描述时,我遇到了包含重音字符的字符串的问题。例如,在此SPARQL查询中:
SELECT DISTINCT ?s ?o WHERE {
?s dc:description ?o.
FILTER ( regex(str(?o),"structure de donnée", "i"))
}
é变为é,然后查询无法识别资源描述中的字符串。
我该如何解决这个问题?提前谢谢。
答案 0 :(得分:1)
非常粗略地说:
encodeURIComponent
Javascript函数编码的SPARQL查询。escape
Javascript函数编码的。escape
Javascript函数进行编码。见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"))
}