index.php
Go to the documentation of this file.
00001 <?php 00002 00005 00018 ini_set("display_errors", 00019 "Off"); // Don't display errors to the users. Set it to "On" to see errors for debugging purposes. 00020 00021 ini_set("memory_limit", "256M"); 00022 00023 00024 // Database connectivity procedures 00025 include_once("../framework/db.php"); 00026 00027 // Content negotion class 00028 include_once("../framework/Conneg.php"); 00029 00030 // The Web Service parent class 00031 include_once("../framework/WebService.php"); 00032 include_once("../framework/ProcessorXML.php"); 00033 include_once("../framework/Namespaces.php"); 00034 00035 include_once("Sparql.php"); 00036 include_once("../auth/validator/AuthValidator.php"); 00037 00038 include_once("../framework/Logger.php"); 00039 00040 00041 // Full text query supporting the Lucene operators 00042 $query = ""; 00043 00044 if(isset($_POST['query'])) 00045 { 00046 $query = $_POST['query']; 00047 } 00048 00049 // Datasets to target with the sparql query 00050 $dataset = ""; 00051 00052 if(isset($_POST['dataset'])) 00053 { 00054 $dataset = $_POST['dataset']; 00055 } 00056 00057 // Datasets to target with the sparql query (optional) -- only used for consistency with the SPARQL protocol 00058 if(isset($_POST['default-graph-uri']) && $dataset == "") 00059 { 00060 $dataset = $_POST['default-graph-uri']; 00061 } 00062 00063 // Datasets to target with the sparql query (optional) -- only used for consistency with the SPARQL protocol 00064 if(isset($_POST['named-graph-uri']) && $dataset == "") 00065 { 00066 $dataset = $_POST['named-graph-uri']; 00067 } 00068 00069 00070 // Limit of the number of results to return in the resultset 00071 $limit = 2000; 00072 00073 if(isset($_POST['limit'])) 00074 { 00075 $limit = $_POST['limit']; 00076 } 00077 00078 // Offset of the "sub-resultset" from the total resultset of the query 00079 $offset = 0; 00080 00081 if(isset($_POST['offset'])) 00082 { 00083 $offset = $_POST['offset']; 00084 } 00085 00086 // Optional IP 00087 $registered_ip = ""; 00088 00089 if(isset($_POST['registered_ip'])) 00090 { 00091 $registered_ip = $_POST['registered_ip']; 00092 } 00093 00094 $mtime = microtime(); 00095 $mtime = explode(' ', $mtime); 00096 $mtime = $mtime[1] + $mtime[0]; 00097 $starttime = $mtime; 00098 00099 $start_datetime = date("Y-m-d h:i:s"); 00100 00101 $requester_ip = "0.0.0.0"; 00102 00103 if(isset($_SERVER['REMOTE_ADDR'])) 00104 { 00105 $requester_ip = $_SERVER['REMOTE_ADDR']; 00106 } 00107 00108 $parameters = ""; 00109 00110 if(isset($_SERVER['REQUEST_URI'])) 00111 { 00112 $parameters = $_SERVER['REQUEST_URI']; 00113 00114 $pos = strpos($parameters, "?"); 00115 00116 if($pos !== FALSE) 00117 { 00118 $parameters = substr($parameters, $pos, strlen($parameters) - $pos); 00119 } 00120 } 00121 elseif(isset($_SERVER['PHP_SELF'])) 00122 { 00123 $parameters = $_SERVER['PHP_SELF']; 00124 } 00125 00126 $ws_sparql = new Sparql($query, $dataset, $limit, $offset, $registered_ip, $requester_ip); 00127 00128 $ws_sparql->ws_conneg($_SERVER['HTTP_ACCEPT'], $_SERVER['HTTP_ACCEPT_CHARSET'], $_SERVER['HTTP_ACCEPT_ENCODING'], 00129 $_SERVER['HTTP_ACCEPT_LANGUAGE']); 00130 00131 $ws_sparql->process(); 00132 00133 $ws_sparql->ws_respond($ws_sparql->ws_serialize()); 00134 00135 $mtime = microtime(); 00136 $mtime = explode(" ", $mtime); 00137 $mtime = $mtime[1] + $mtime[0]; 00138 $endtime = $mtime; 00139 $totaltime = ($endtime - $starttime); 00140 00141 $logger = new Logger("sparql", $requester_ip, 00142 "?query=" . $query . "&dataset=" . $dataset . "®istered_ip=" . $registered_ip . "&requester_ip=$requester_ip", 00143 $_SERVER['HTTP_ACCEPT'], $start_datetime, $totaltime, $ws_sparql->pipeline_getResponseHeaderStatus(), 00144 $_SERVER['HTTP_USER_AGENT']); 00145 00146 00148 00149 ?>
