08.11.2014 Aufrufe

Gesamtausgabe Skriptum 3 (2013), Heft 2

Gesamtausgabe Skriptum 3 (2013), Heft 2

Gesamtausgabe Skriptum 3 (2013), Heft 2

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Zeile 36 noch die Response Header-Informationen zur späteren Auswertung geholt. Im Falle von<br />

POST wollen wir hier nicht den HTTP Status Code 200 sondern 204 – was „no Content“ bedeutet –<br />

zurückgegeben bekommen, da wir hier keinen Inhalt zurück erwarten. 204 bedeutet in diesem Fall,<br />

dass der Request erfolgreich war.<br />

Im letzten Beispiel soll noch gezeigt werden, wie SPARQL benutzt werden kann, um mit Sesame zu<br />

interagieren.<br />

46$server = "http://localhost:8080";<br />

47$queryBaseUrl = "/openrdf-sesame/repositories/ibrdemo?query=";<br />

48$query = "SELECT * WHERE {?subject ?predicate ?object}";<br />

49//urlencoding queryString<br />

50$urlencodedQuery = urlencode($query);<br />

51$headers = array( "Accept: application/sparql-results+xml" );<br />

52<br />

53$ch = curl_init();<br />

54<br />

55curl_setopt($ch, CURLOPT_URL, $server.$queryBaseUrl.$urlencodedQuery);<br />

56curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br />

57curl_setopt($ch, CURLOPT_HTTPGET, true);<br />

58curl_setopt($ch, CURLOPT_HEADER, ture);<br />

59curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);<br />

60<br />

61$response = curl_exec($ch);<br />

62<br />

63curl_close($ch);<br />

Ähnlich wie in den vorhergehenden Beispielen, werden zuerst die entsprechenden Variablen gefüllt<br />

(Zeilen 46 bis 51), dann cURL initialisiert (Zeile 53), die benötigten Optionen gesetzt (Zeilen 55 bis<br />

59), danach die Abfrage ausgeführt (Zeile 61) und dann die Verbindung beendet (Zeile 63). Das<br />

Ergebnis steht wie gewohnt in der Variable $response zur weiteren Benutzung/Verarbeitung zur<br />

Verfügung.<br />

Im Vergleich zu den anderen Beispielen hat sich hier Folgendes geändert: Zum einen muss hier ein<br />

anderer Accept Header 114 mit dem Typ "Accept: application/sparql-results+xml" gesetzt<br />

(Zeile 51) und zum anderen muss der Query String url-kodiert (urlencode() 115 ) werden (Zeile 50).<br />

Da Query-Strings unter anderem Leerzeichen beinhalten und teilweise auch Zeichen enthalten<br />

können, die keine Repräsentation im ASCII-Standard besitzen und somit nicht in URLs zulässig<br />

114<br />

Für weitere zulässige Accept Header für SPARQL Abfragen an Sesame sei hier auf die entsprechende<br />

Tabellen im Anhang 1 verwiesen.<br />

115<br />

Siehe auch → http://www.w3schools.com/tags/ref_urlencode.asp (Zugriff 14.07.<strong>2013</strong>).<br />

58

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!