SPARQL查询返回不完整/不一致的结果

时间:2015-02-10 15:51:02

标签: php sparql dbpedia

我正在尝试运行以下查询以获取资源的所有属性:

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

on 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',
)

1 个答案:

答案 0 :(得分:0)

这是导致问题的letter字母。通过在查询之前在资源名称上使用PHP urlencode()函数(将其转换为UTF8十六进制?),它将返回属性。 ø被翻译为%C3%B8,也是DBpedia URI http://dbpedia.org/page/Bild%C3%B8y中使用的值。