Я пытаюсь выполнить следующий запрос, чтобы получить все свойства ресурса:
select distinct ?property
where {
<http://dbpedia.org/resource/Bildøy> ?property ?value
}
Тем не менее, я получаю только несколько результатов, а не те, которые я ожидал. Большинство свойств на этой странице отсутствуют 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',
)
Это была буква ø, вызывающая проблему. Используя функцию PHP urlencode () для имени ресурса (превратив его в шестнадцатеричный UTF8?) Перед запросом, он вернет свойства. ø переводится в% C3% B8 и также является значением, используемым в URI DBpedia http://dbpedia.org/page/Bild%C3%B8y.
Других решений пока нет …