5

以下查询抛出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 时却允许?

4

0 回答 0