Может кто-нибудь показать мне пример того, как загрузить файлы .srj, которые являются результатом запроса к Сезама SPARQL конечной точки с помощью JQuery в getJSON? Я попытался установить заголовок Accept и другие трюки, но я все еще вижу код 200 и, по-видимому, никаких ошибок, но содержимое файла не загружается.нагрузки .srj с помощью AJAX JQuery или getJSON
$.getJSON("http://localhost:8090/openrdf-sesame/repositories/myrepo?queryLn=SPARQL&query=QUERY&limit=none&infer=true&Accept=application%2Fsparql-results%2Bjson",
{
},
function(data) {
alert('data = ', data);
});
Я пробовал что-то вроде этого и бесчисленное множество других вариантов, и он по-прежнему не работает. Я должен отметить, что я тестировал оба случая:
- Tomcat не смонтированные в Apache, случай, в котором мы имеем запрос междоменное - и я попытался установить все, что было необходимо в браузере;
- Tomcat смонтирован в Apache - что, насколько мне известно, не требовалось что-нибудь еще для работы, но все равно никакого успеха.
Вот заголовок запроса:
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate
Accept-Language:en-us,en;q=0.5
Connection:keep-aliveHost:localhost:8090
Origin:http://localhost
Referer:http://localhost/d3v280/examples/ablodvis/localtest.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
Вот водосборник Ответа:
Content-Disposition:attachment; filename=query-result.srj
Content-Language:en-US
Content-Type:application/sparql-results+json;charset=UTF-8
Date:Mon, 28 May 2012 14:06:06 GMT
Server:Apache-Coyote/1.1
Transfer-Encoding:chunked
Как вы можете видеть, что я действительно получаю результат запроса-результат .srj, но я не знаю, как получить к нему доступ. Я бы очень предпочел, чтобы первая версия работала, но, видимо, я чего-то не хватает. Все аналогичные запросы getJSON работали.
Вот запрос, который работает почти:
$.ajax({
beforeSend: function(xhrObj){
xhrObj.setRequestHeader("Accept","application/sparql-results+json");
},
dataType: 'jsonp',
url: queryUrl,
success: function(data) {
// callback code here
console.log("source: " + data.length)
alert('success!');
}
});
Однако он вызывает «неверный ярлык» в Firefox, а в Chrome она не бросает какую-то ошибки, но, как я вижу на секунде строка из моего query-results.srj файл показывает Uncaught SyntaxError: Неожиданный токен:. Вот как первые строки ответа выглядит следующим образом:
{
"head": {
"vars": [ "s", "p", "o", "r" ]
},
"results": {
"bindings": [ ...
На этот раз я смог увидеть запрос сделано успешно и увидеть его в браузере (по крайней мере в режиме отладки как в Chrome и Firefox). Должен ли я понять, что трюк jsonp не работает с кунжутом? Если я отвечу от Sesame, скопируйте его в файл, переименуйте его file.js и загрузите его с помощью $ .getJSON, он работает нормально ... Я не хочу иметь серверный код для этого приложения, просто для обработки результата запроса SPARQL напрямую. Я легко настраивал остальные источники (WorldBank, DBPedia и другие) через $ .getJSON или $ .ajax.
С уважением!
Я просто нашел это: http://code.google.com/p/rdf-spark/issues/detail ? id = 1 – paxRoman
если это исправить вашу проблему, не стесняйтесь отвечать на свой вопрос и принимать ответ (так что другим легко понять, что такое решение). –
он все еще не исправлен, вот почему он в комментарии ... Я все же отредактировал вопрос, чтобы отразить текущее состояние – paxRoman