From: <sk...@us...> - 2008-02-06 14:46:52
|
Revision: 499 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=499&view=rev Author: sknappe Date: 2008-02-06 06:46:49 -0800 (Wed, 06 Feb 2008) Log Message: ----------- You now have the chance to abort the current server call Modified Paths: -------------- trunk/src/dbpedia-navigator/DLLearnerConnection.php trunk/src/dbpedia-navigator/ajax.php trunk/src/dbpedia-navigator/ajaxfunctions.php trunk/src/dbpedia-navigator/index.php Modified: trunk/src/dbpedia-navigator/DLLearnerConnection.php =================================================================== --- trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-02-06 14:41:42 UTC (rev 498) +++ trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-02-06 14:46:49 UTC (rev 499) @@ -85,6 +85,15 @@ $seconds = $i * $sleeptime; $i++; + + //look, if algorithm was stopped + $file=fopen($this->id.".temp","r"); + $run=fgets($file); + fclose($file); + if ($run=="false"){ + $this->client->stop($this->id); + throw new Exception("Learning stopped"); + } } while($seconds<$this->ttl&&$running); $this->client->stop($this->id); @@ -115,7 +124,6 @@ $running=true; $i = 1; $sleeptime = 1; - do { // sleep a while sleep($sleeptime); @@ -129,6 +137,14 @@ $seconds = $i * $sleeptime; $i++; + //look, if algorithm was stopped + $file=fopen($this->id.".temp","r"); + $run=fgets($file); + fclose($file); + if ($run=="false"){ + $this->client->stopSparqlQuery($id,$queryID); + throw new Exception("Query stopped"); + } } while($seconds<$this->ttl); $this->client->stopSparqlQuery($id,$queryID); } Modified: trunk/src/dbpedia-navigator/ajax.php =================================================================== --- trunk/src/dbpedia-navigator/ajax.php 2008-02-06 14:41:42 UTC (rev 498) +++ trunk/src/dbpedia-navigator/ajax.php 2008-02-06 14:46:49 UTC (rev 499) @@ -28,4 +28,5 @@ $xajax->registerFunction('showInterests'); $xajax->registerFunction('removePosInterest'); $xajax->registerFunction('removeNegInterest'); +$xajax->registerFunction('stopServerCall'); ?> \ No newline at end of file Modified: trunk/src/dbpedia-navigator/ajaxfunctions.php =================================================================== --- trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-02-06 14:41:42 UTC (rev 498) +++ trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-02-06 14:46:49 UTC (rev 499) @@ -1,22 +1,26 @@ <?php ini_set('max_execution_time',200); -$sid = $_GET['sid']; -session_id($sid); -session_start(); require("ajax.php"); $xajax->processRequest(); function getsubjects($label) { - require_once("DLLearnerConnection.php"); + $sid = $_GET['sid']; + session_id($sid); + session_start(); + $id=$_SESSION['id']; + $ksID=$_SESSION['ksID']; + session_write_close(); + setRunning($id,"true"); + //initialise content $content=""; try{ - $sc=new DLLearnerConnection($_SESSION['id'],$_SESSION['ksID']); - - + require_once("DLLearnerConnection.php"); + $sc=new DLLearnerConnection($id,$ksID); + $subjects=$sc->getSubjects($label); foreach ($subjects as $subject) @@ -34,9 +38,18 @@ function getarticle($subject,$fromCache) { + $sid = $_GET['sid']; + session_id($sid); + session_start(); + $articles=$_SESSION['articles']; + $id=$_SESSION['id']; + $ksID=$_SESSION['ksID']; + session_write_close(); + setRunning($id,"true"); + //if article is in session, get it out of the session - if (isset($_SESSION['articles'])){ - foreach ($_SESSION['articles'] as $key => $value) + if (isset($articles)){ + foreach ($articles as $key => $value) { if ($value['subject']==$subject){ $fromCache=$key; @@ -59,7 +72,7 @@ //if there are errors see catch block try{ require_once("DLLearnerConnection.php"); - $sc=new DLLearnerConnection($_SESSION['id'],$_SESSION['ksID']); + $sc=new DLLearnerConnection($id,$ksID); $triples=$sc->getTriples($subject); //BUILD ARTICLE @@ -68,7 +81,7 @@ // display a picture if there is one if(isset($triples['http://xmlns.com/foaf/0.1/depiction'])) - $content.='<img src="'.$triples['http://xmlns.com/foaf/0.1/depiction'][0].'" alt="Picture of '.$subject_nice.'" style="float:right; max-width:200px;" \>'; + $content.='<img src="'.$triples['http://xmlns.com/foaf/0.1/depiction'][0].'" alt="Picture of '.$subject.'" style="float:right; max-width:200px;" \>'; // add short description in english $content.="<h4>Short Description</h4><p>".urldecode($triples['http://dbpedia.org/property/abstract'][0])."</p>"; @@ -131,7 +144,8 @@ //BUILD SEARCHRESULT if ($fromCache==-1) - $searchResult.="<a href=\"\" onclick=\"xajax_getsubjects('".$subject."');return false;\">Show more Results</a>"; + $searchResult.="<a href=\"\" onclick=\"xajax_getsubjects('".$subject."');return false;\">Show more Results</a>"; + } catch (Exception $e) { $content=$e->getMessage(); @@ -164,6 +178,9 @@ function toPositive($subject) { + $sid = $_GET['sid']; + session_id($sid); + session_start(); unset($_SESSION['negative'][$subject]); if (!isset($_SESSION['positive'])){ $array=array($subject => $subject); @@ -182,6 +199,9 @@ function toNegative($subject) { + $sid = $_GET['sid']; + session_id($sid); + session_start(); unset($_SESSION['positive'][$subject]); if (!isset($_SESSION['negative'])){ $array=array($subject => $subject); @@ -200,6 +220,9 @@ function clearPositives() { + $sid = $_GET['sid']; + session_id($sid); + session_start(); unset($_SESSION['positive']); $objResponse = new xajaxResponse(); @@ -209,6 +232,9 @@ function clearNegatives() { + $sid = $_GET['sid']; + session_id($sid); + session_start(); unset($_SESSION['negative']); $objResponse = new xajaxResponse(); @@ -218,6 +244,9 @@ function showInterests() { + $sid = $_GET['sid']; + session_id($sid); + session_start(); //add Positives and Negatives to Interests $posInterests=""; if (isset($_SESSION['positive'])) foreach($_SESSION['positive'] as $pos){ @@ -236,6 +265,9 @@ function removePosInterest($subject) { + $sid = $_GET['sid']; + session_id($sid); + session_start(); unset($_SESSION['positive'][$subject]); $objResponse = new xajaxResponse(); @@ -245,6 +277,9 @@ function removeNegInterest($subject) { + $sid = $_GET['sid']; + session_id($sid); + session_start(); unset($_SESSION['negative'][$subject]); $objResponse = new xajaxResponse(); @@ -254,29 +289,40 @@ function learnConcept() { + $sid = $_GET['sid']; + session_id($sid); + session_start(); + + $positives=$_SESSION['positive']; + $negatives=$_SESSION['negative']; + $id=$_SESSION['id']; + $ksID=$_SESSION['ksID']; + session_write_close(); + setRunning($id,"true"); $concept=""; - if (isset($_SESSION['positive'])) + if (isset($positives)) { $posArray=array(); - foreach ($_SESSION['positive'] as $pos) + foreach ($positives as $pos) $posArray[]=$pos; $negArray=array(); - if (isset($_SESSION['negative'])) - foreach ($_SESSION['negative'] as $neg) + if (isset($negatives)) + foreach ($negatives as $neg) $negArray[]=$neg; require_once("DLLearnerConnection.php"); - $sc=new DLLearnerConnection($_SESSION['id'],$_SESSION['ksID']); - - - $concepts=$sc->getConceptFromExamples($posArray,$negArray); - - $_SESSION['lastLearnedConcept']=$concepts; - $concept.="<table border=0>\n"; - foreach ($concepts as $con){ - $concept.="<tr><td><a href=\"\" onclick=\"xajax_getSubjectsFromConcept('".$con."');return false;\" />".$con."</a></td></tr>"; + $sc=new DLLearnerConnection($id, $ksID); + try{ + $concepts=$sc->getConceptFromExamples($posArray,$negArray); + + $concept.="<table border=0>\n"; + foreach ($concepts as $con){ + $concept.="<tr><td><a href=\"\" onclick=\"xajax_getSubjectsFromConcept('".$con."');return false;\" />".$con."</a></td></tr>"; + } + $concept.="</table>"; + } catch(Exception $e){ + $concept.=$e->getMessage(); } - $concept.="</table>"; } else $concept="You must choose at least one positive example."; @@ -287,10 +333,18 @@ function getSubjectsFromConcept($concept) { + $sid = $_GET['sid']; + session_id($sid); + session_start(); + $id=$_SESSION['id']; + $ksID=$_SESSION['ksID']; + session_write_stop(); + setRunning("true"); + $content=""; try{ require_once("DLLearnerConnection.php"); - $sc=new DLLearnerConnection($_SESSION['id'],$_SESSION['ksID']); + $sc=new DLLearnerConnection($id,$ksID); $subjects=$sc->getSubjectsFromConcept($concept); foreach ($subjects as $subject) { @@ -305,9 +359,29 @@ return $objResponse; } +function stopServerCall() +{ + $sid = $_GET['sid']; + session_id($sid); + session_start(); + $id=$_SESSION['id']; + session_write_close(); + setRunning($id,"false"); + $objResponse=new xajaxResponse(); + //$objResponse->append("searchcontent", "innerHTML", "Stop"); + return $objResponse; +} + /////////////////////// // Helper Functions. // /////////////////////// + +function setRunning($id,$running) +{ + $file=fopen($id.".temp","w"); + fwrite($file, $running); + fclose($file); +} function get_triple_table($triples) { Modified: trunk/src/dbpedia-navigator/index.php =================================================================== --- trunk/src/dbpedia-navigator/index.php 2008-02-06 14:41:42 UTC (rev 498) +++ trunk/src/dbpedia-navigator/index.php 2008-02-06 14:46:49 UTC (rev 499) @@ -42,7 +42,7 @@ <body> <!-- <h1>DBpedia Navigator</h1> --> -<div><img src="images/dbpedia_navigator.png" alt="DBpedia Navigator" style="padding:5px" /> <input type="button" value="Learn" class="button" onclick="xajax_learnConcept();return false;" /> <span id="conceptlink"></span><span id="Loading" style="display:none">Loading...</span></div> +<div><img src="images/dbpedia_navigator.png" alt="DBpedia Navigator" style="padding:5px" /> <input type="button" value="Learn" class="button" onclick="xajax_learnConcept();return false;" /> <span id="conceptlink"></span><span id="Loading" style="display:none">Server Call... <input type="button" value="Stop" class="button" onclick="xajax_stopServerCall();return false;" /></span></div> <div id="layer" style="display:none"> <div id="layerContent" style="display:none"></div> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |