Home > Querying a password-protected SPARQL endpoint
Querying a password-protected SPARQL endpoint
The problem
Some SPARQL endpoints might be password-protected. This requires extra-headers to be passed in requests.
The solution : adding extra headers to Sparnatural and YasQE
You need to pass extra headers at two places : in Sparnatural and in YasQE (if you use YasQE), that will send the final query to the triplestore.
Add extra headers to Sparnatural
Add the following code to your Sparnatural initialization code to pass extra headers to Sparnatural:
sparnatural.addEventListener("init", (event) => {
sparnatural.headers = {
"User-Agent" : "This is Sparnatural calling",
"Authorization" : "Bearer token"
// add other headers as necessary
};
});
Sparnatural will honor these headers when sending requests to populate the dropdown lists, autocomplete fields, or tree widgets.
Make YasQE query a password-protected SPARQL-endpoint
For demo pages using the old version of YASGUI, the corresponding archived documentation is at https://web.archive.org/web/20190216123103/http://yasqe.yasgui.org/doc, and the correct JQuery function is at https://stackoverflow.com/a/5507289/189723
var yasqe = YASQE.fromTextArea(document.getElementById("yasqe"), {
sparql : {
showQueryButton : true,
endpoint : $('#endpoint').text(),
beforeSend: function(xhr) { xhr.setRequestHeader("Authorization", "Basic " + btoa(username + ":" + password)); };
}
});