处理 SPARQL-Filter 表达式中的特殊字符

Aag*_*nor 5 regex sparql dbpedia

我访问 dbpedia[1] 的 SPARQL-Endpoint 以获取给定城市的 URI。我使用以下查询来实现此目的:

\n\n
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\nPREFIX dbpedia: <http://dbpedia.org/ontology/> \nselect distinct * where \n  {?uri rdfs:label ?label. \n  FILTER (REGEX(STR(?label), "^K\xc3\xb6ln$", "i")). \n  ?uri a dbpedia:PopulatedPlace.\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我查询一个没有德语变音符号的城市,一切正常,但如果有变音符号,我什么也得不到。当通过代码执行此查询时,我什至收到 406 错误(不可接受)

\n\n

知道如何处理针对 dbpedia 的 SPARQL 查询中的元音变音吗?

\n\n

预先感谢,
\n弗兰克

\n\n

[1] http://dbpedia.org/sparql

\n

Spo*_*ork 4

在处理你的角色时似乎存在一个错误,可能是在运输或其他方面。当您以 unicode 十六进制形式写下\xc3\xb6时,它确实有效,如下所示:

\n\n
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\nPREFIX dbpedia: <http://dbpedia.org/ontology/> \nselect distinct * where \n  {?uri rdfs:label ?label. \n  FILTER (REGEX(STR(?label), "^K\\u00F6ln$")). \n  ?uri a dbpedia:PopulatedPlace.\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

编辑:我现在发现这不适用于“i”标志。文档表明“u”标志适用于此处。

\n