2014-02-22 77 views
2

以下資源在名稱中的Unicode字符: http://dbpedia.org/page/Marit_Bj%C3%B8rgenDBpedia中的SPARQL查詢使用Unicode

下面的查詢適用於沒有Unicode字符資源名稱,但使用它上面的名字沒有返回值:

select ?label { 
dbpedia:Marit_Bjørgen 
    dbpedia-owl:birthPlace 
    [ a dbpedia-owl:Country ; 
     rdfs:label ?label ] 
    filter langMatches(lang(?label),"en") 
} 

我也試過各種轉義:

dbpedia:Marit_Bj%C3%B8rgen 

但是這會返回錯誤。任何人都知道如何做到這一點?

+1

當您轉義字符時會返回什麼樣的錯誤? –

回答

3

請記住,像dbpedia:whatever這樣的QName只是完整URI的縮寫。此作品:

select ?label { 
    <http://dbpedia.org/resource/Marit_Bj%C3%B8rgen> 
    dbpedia-owl:birthPlace 
     [ a dbpedia-owl:Country ; 
     rdfs:label ?label ] 
    filter langMatches(lang(?label),"en") 
} 
+0

dbpedia:Marit_Bj%C3%B8rgen是URI的合法SPARQL 1.1。它是dbpedia的一個不同的URI:Marit_Bjørgen--它不是「轉義」 - 它是「編碼」。 URI中確實有%-C-3 - % - B-8。 – AndyS

+0

@AndyS但它是[非法SPARQL 1.0](http://www.w3.org/TR/rdf-sparql-query/#rPrefixedName),例如[DBpedia自己的端點](http://dbpedia.org/sparql)拒絕它。 –

+0

然而,當我運行這個,而不是'前綴dbo: 問{一個dbo:Person}'它似乎不能正常工作 – user1747134