Gesamtausgabe Skriptum 3 (2013), Heft 2
Gesamtausgabe Skriptum 3 (2013), Heft 2
Gesamtausgabe Skriptum 3 (2013), Heft 2
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