以下查询将引发Virtuoso 37000 Error SP030: SPARQL compiler, line 0: Bad character '%' (0x25) in SPARQL expression at '%'
PREFIX res: <http://dbpedia.org/resource/>
PREFIX yago: <http://dbpedia.org/class/yago/>
SELECT * WHERE {
res:Reykjav%C3%ADk rdf:type yago:CapitalsInEurope ;
rdfs:label ?label ;
rdfs:comment ?abstract.
FILTER (lang(?label) = "en" && lang(?abstract) = "en")
}
虽然这个(原谅双关语)语义上相同的查询不是
PREFIX yago: <http://dbpedia.org/class/yago/>
SELECT * WHERE {
<http://dbpedia.org/resource/Reykjav%C3%ADk> rdf:type yago:CapitalsInEurope ;
rdfs:label ?label ;
rdfs:comment ?abstract.
FILTER (lang(?label) = "en" && lang(?abstract) = "en")
}
为什么在带前缀的标识符中不允许使用URL转义字符,但是在提供完整的IRI时呢?