« SPARQL Protocol and RDF Query Language/Requêtes d'exportation » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 205 :
== Exporter dans votre programme Javascript ==
 
Parmi les formats d'exportation, il en existe un qui est de plus en plus utilisé : le '''JSON'''.
 
La raison de cet engouement est que le format JSON peut être chargé en mémoire dans du javascript sans avoir besoin de parser la réponse SPARQL en XML avec les méthodes SAX ou DOM.
 
Par exemple, si la variable docJSON contient une réponse SPARQL en JSON, en utilisant la ligne suivante, on obtiendra un objet :
<source lang="javascript" >
obj = eval('(' + req.responseJSON + ')');
</source>
 
Que nous utiliserons ensuite de cette manière comme par exemple pour en faire un tableau HTML :
<source lang="javascript" >
table = '<table>';
table += '<tr>';
//print variables
for(var var in obj.head.vars)
{
table += '<th>';
table += obj.head.vars[var];
table += '</th>';
}
table += '</tr>';
//print results
for(var index in obj.results.bindings)
{
table += '<tr>';
for(var var in obj.results.bindings[index])
{
table += '<td>';
table += obj.results.bindings[index][var].value ;
table += '</td>';
}
table += '</tr>';
}
table += '</table>';
</source>
 
Voici l'exemple d'une fonction javascript pour faire une requête SPARQL :
<source lang="javascript" >
function download_datasets(endpoint,query){
//send request
var req = new XMLHttpRequest();
req.open("GET", endpoint + '/?output=json&query=' + escape(query.replace('\\n','')),true);
req.onreadystatechange = function (aEvt) {
if (req.readyState == 4) {
if(req.status == 200 || req.status == 0){
if (req.responseText == "")
{
messageWaiting = "Error : The domain in the query is different of Web site...";
return;
}
OBJECT_VarGlobal = eval('(' + req.responseText + ')');
div.innerHTML = makeTable(doc_datasets);
}else
messageWaiting = "Error loading response";
}
};
req.send(null);
}
</source>
 
Vous voici équipé pour utiliser SPARQL en long, en large et en travers. La prochaine leçon abordera les futures étapes de l'implémentation de SPARQL qui s'adresse donc à un public très motivé ;)
 
{{Bas de page