jQueryのgetJSONを使用してSesameSPARQLエンドポイントをクエリした結果の.srjファイルをロードする方法の例を誰かに教えてもらえますか?Acceptヘッダーやその他のトリックを設定しようとしましたが、200コードが表示され、明らかにエラーは発生しませんが、ファイルのコンテンツが読み込まれません。
$.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
ご覧のとおり、query-result.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ファイルの2行目にあるように、Uncaught SyntaxError:Unexpected token:。応答の最初の行は次のようになります。
{
"head": {
"vars": [ "s", "p", "o", "r" ]
},
"results": {
"bindings": [ ...
今回は、リクエストが正常に実行され、ブラウザで確認できます(少なくとも、ChromeとFirefoxの両方のデバッグモードで)。jsonpトリックがSesameでは機能しないことを理解する必要がありますか?Sesameから回答を受け取った場合は、ファイルにコピーし、 file.jsに名前を変更して、$。 getJSONをロードします。これで問題なく動作します...このアプリケーションのサーバー側コードは必要ありません。 SPARQLクエリの結果を直接処理します。$.getJSONまたは$.ajaxを使用して、残りのソース(WorldBank、DBPediaなど)を簡単にセットアップできました。
よろしくお願いします!