使用PREFIX时,为什么SPARQL查询中不允许转义字符?

时间:2014-04-05 09:48:09

标签: rdf sparql virtuoso

以下查询将引发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时呢?

0 个答案:

没有答案