2015-02-10 76 views
0

我試圖運行下面的查詢來獲取資源的所有屬性:SPARQL查詢返回不完整/不一致的結果

select distinct ?property 
where { 
<http://dbpedia.org/resource/Bildøy> ?property ?value 
} 

http://dbpedia.org/snorql/

不過,我只得到一些成果,不是我期待的那些。本頁面的大部分屬性都不存在http://dbpedia.org/page/Bild%C3%B8y

難道這是由於URI中的字母?該查詢似乎與其他資源一起工作正常,但與使用ø字母的其他資源具有相同的問題(例如:http://dbpedia.org/page/Rad%C3%B8y)。

當我運行PHP腳本,我得到以下結果查詢:

array (
    0 => 'dbpedia-owl:wikiPageInLinkCountCleaned', 
    1 => 'dbpedia-owl:wikiPageRank', 
    2 => 'dbpedia-owl:wikiHITS', 
    3 => 'dbpedia-owl:wikiPageOutLinkCountCleaned', 
) 
array (
    0 => 'http://www.w3.org/2002/07/owl#sameAs', 
) 

回答

0

這是O型的信引起的問題。通過在查詢之前使用資源名稱上的PHP urlencode()函數(將其轉換爲UTF8十六進制?),它將返回屬性。 ø被翻譯爲%C3%B8,並且也是在DBpedia URI http://dbpedia.org/page/Bild%C3%B8y中使用的值。