From: <sk...@us...> - 2008-01-31 07:12:32
|
Revision: 475 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=475&view=rev Author: sknappe Date: 2008-01-30 23:12:28 -0800 (Wed, 30 Jan 2008) Log Message: ----------- some fixes, so that all functions work 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 trunk/src/dbpedia-navigator/learningExamples.txt Modified: trunk/src/dbpedia-navigator/DLLearnerConnection.php =================================================================== --- trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-01-30 21:36:09 UTC (rev 474) +++ trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-01-31 07:12:28 UTC (rev 475) @@ -45,8 +45,8 @@ $this->client->applyConfigEntryInt($this->id, $this->ksID, "recursionDepth",1); $this->client->applyConfigEntryStringArray($this->id, $this->ksID, "instances", array_merge($posExamples,$negExamples)); $this->client->applyConfigEntryInt($this->id, $this->ksID, "predefinedFilter", 5); - $this->client->applyConfigEntryInt($this->id, $this->ksID, "predefinedEndpoint", 1); - + $this->client->applyConfigEntryInt($this->id, $this->ksID, "predefinedEndpoint", 1); + $this->client->setReasoner($this->id, "dig"); if(empty($negExamples)) $this->client->setLearningProblem($this->id, "posOnlyDefinition"); @@ -142,7 +142,7 @@ if (!$result->item) throw new Exception("Your query brought no result."); $ret=array(); foreach ($result->item as $results){ - $ret[]=$results->item; + $ret[]=$results->item[0]; } return $ret; } @@ -153,6 +153,7 @@ "WHERE { ?subject a <".$concept.">}\n". "LIMIT 10"; $result=$this->getSparqlResult($query); + if (!$result->item) throw new Exception("Your query brought no result."); $ret=array(); foreach ($result->item as $results){ $ret[]=$results->item[0]; Modified: trunk/src/dbpedia-navigator/ajax.php =================================================================== --- trunk/src/dbpedia-navigator/ajax.php 2008-01-30 21:36:09 UTC (rev 474) +++ trunk/src/dbpedia-navigator/ajax.php 2008-01-31 07:12:28 UTC (rev 475) @@ -19,13 +19,14 @@ 'onResponseDelay' => 'showLoadingConcept', 'beforeResponseProcessing' => 'hideLoadingConcept' )); -$xajax->register(XAJAX_FUNCTION, 'getSubjectsFromConcept', array( - 'onResponseDelay' => 'showLoadingConceptSubjects', - 'beforeResponseProcessing' => 'hideLoadingConceptSubjects' - )); +$xajax->registerFunction('getSubjectsFromConcept'); $xajax->registerFunction('getAndShowSubjects'); $xajax->registerFunction('getsubjects'); $xajax->registerFunction('showArticle'); $xajax->registerFunction('removePosInterest'); $xajax->registerFunction('removeNegInterest'); +$xajax->registerFunction('showConcept'); +$xajax->registerFunction('learnAndShowConcept'); +$xajax->registerFunction('showSubjectsFromConcept'); +$xajax->registerFunction('getAndShowSubjectsFromConcept'); ?> \ No newline at end of file Modified: trunk/src/dbpedia-navigator/ajaxfunctions.php =================================================================== --- trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-01-30 21:36:09 UTC (rev 474) +++ trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-01-31 07:12:28 UTC (rev 475) @@ -116,10 +116,10 @@ //BUILD ARTICLE TITLE - $artTitle=$triples['http://www.w3.org/2000/01/rdf-schema#label']; + $artTitle=$triples['http://www.w3.org/2000/01/rdf-schema#label'][0]; //store article in session, to navigate between last 5 articles quickly - $contentArray=array('content' => $content,'subject' => $subject); + $contentArray=array('content' => $content,'subject' => $artTitle); if (!isset($_SESSION['nextArticle'])){ $_SESSION['nextArticle']=0; $_SESSION['articles']=array(); @@ -153,7 +153,7 @@ else { //Article is in session $content=$_SESSION['articles'][$fromCache]['content']; - $subject=$_SESSION['articles'][$fromCache]['subject']; + $artTitle=$_SESSION['articles'][$fromCache]['subject']; } //Build lastArticles @@ -312,44 +312,33 @@ $concept=$sc->getConceptFromExamples($posArray,$negArray); $_SESSION['lastLearnedConcept']=$concept; - if (strlen(substr (strrchr ($concept, "/"), 1))>0) $concept="<a href=\"\" onclick=\"xajax_getSubjectsFromConcept();return false;\" />".urldecode(substr (strrchr ($concept, "/"), 1))."</a>"; - else $concept="<a href=\"\" onclick=\"xajax_getSubjectsFromConcept();return false;\" />".$concept."</a>"; + $concept="<a href=\"\" onclick=\"xajax_getAndShowSubjectsFromConcept();return false;\" />".$concept."</a>"; } - else $concept="You must choose at least one<br/> positive example."; + else $concept="You must choose at least one positive example."; + $_SESSION['conceptcontent']=$concept; + $objResponse = new xajaxResponse(); - $objResponse->assign("conceptlink", "innerHTML", $concept); return $objResponse; } function getSubjectsFromConcept() { - require_once("Settings.php"); - require_once("DLLearnerConnection.php"); - $settings=new Settings(); - $sc=new DLLearnerConnection($settings->dbpediauri,$settings->wsdluri,$_SESSION['id'],$_SESSION['ksID']); - $content=""; - if (isset($_SESSION['lastLearnedConcept'])) - { - $subjects=$sc->getSubjectsFromConcept($settings->sparqlttl,$_SESSION['lastLearnedConcept']); - if (count($subjects)==1) + try{ + require_once("DLLearnerConnection.php"); + $sc=new DLLearnerConnection($_SESSION['id'],$_SESSION['ksID']); + $subjects=$sc->getSubjectsFromConcept($_SESSION['lastLearnedConcept']); + foreach ($subjects as $subject) { - if (strpos($subjects,"[Error]")===0) $content.=substr($subjects,7); - else $content.="<a href=\"\" onclick=\"xajax_getarticle('".$subjects."');return false;\">".str_replace("_"," ",urldecode(substr (strrchr ($subjects, "/"), 1)))."</a><br/>"; + $content.="<a href=\"\" onclick=\"xajax_getAndShowArticle('".urldecode(str_replace("_"," ",substr (strrchr ($subject, "/"), 1)))."',-2);return false;\">".urldecode(str_replace("_"," ",substr (strrchr ($subject, "/"), 1)))."</a><br/>"; } - else if (count($subjects)==0) $content.="No examples for concept found in time."; - else { - foreach ($subjects as $subject) - { - $content.="<a href=\"\" onclick=\"xajax_getarticle('".$subject."');return false;\">".str_replace("_"," ",urldecode(substr (strrchr ($subject, "/"), 1)))."</a><br/>"; - } - } + } catch (Exception $e){ + $content=$e->getMessage(); } - else $content.="No concept to get Subjects from."; - + + $_SESSION['conceptsubjectcontent']=$content; $objResponse = new xajaxResponse(); - $objResponse->assign("conceptsubjectcontent", "innerHTML", $content); return $objResponse; } @@ -360,6 +349,46 @@ $objResponse->call('xajax_showSubjects'); return $objResponse; } + +function learnAndShowConcept() +{ + $objResponse = new xajaxResponse(); + $objResponse->call('xajax_learnConcept'); + $objResponse->call('xajax_showConcept'); + return $objResponse; +} + +function showConcept() +{ + while (!isset($_SESSION['conceptcontent'])){ + sleep(0.5); + } + + $objResponse = new xajaxResponse(); + $objResponse->assign("conceptlink", "innerHTML", $_SESSION['conceptcontent']); + unset($_SESSION['conceptcontent']); + return $objResponse; +} + +function getAndShowSubjectsFromConcept() +{ + $objResponse = new xajaxResponse(); + $objResponse->call('xajax_getSubjectsFromConcept'); + $objResponse->call('xajax_showSubjectsFromConcept'); + return $objResponse; +} + +function showSubjectsFromConcept() +{ + while (!isset($_SESSION['conceptsubjectcontent'])){ + sleep(0.5); + } + + $objResponse = new xajaxResponse(); + $objResponse->assign("searchcontent", "innerHTML", $_SESSION['conceptsubjectcontent']); + unset($_SESSION['conceptsubjectcontent']); + return $objResponse; +} /////////////////////// // Helper Functions. // Modified: trunk/src/dbpedia-navigator/index.php =================================================================== --- trunk/src/dbpedia-navigator/index.php 2008-01-30 21:36:09 UTC (rev 474) +++ trunk/src/dbpedia-navigator/index.php 2008-01-31 07:12:28 UTC (rev 475) @@ -39,14 +39,6 @@ xajax.$('loadingSubject').style.display = 'none'; xajax.$('searchcontent').style.display='block'; }; - showLoadingArticle = function() { - xajax.$('loadingArticle').style.display='block'; - xajax.$('articlecontent').style.display = 'none'; - }; - hideLoadingArticle = function() { - xajax.$('loadingArticle').style.display = 'none'; - xajax.$('articlecontent').style.display = 'block'; - }; showLoadingConcept = function() { xajax.$('loadingConcept').style.display='block'; xajax.$('conceptcontent').style.display = 'none'; @@ -55,20 +47,12 @@ xajax.$('loadingConcept').style.display = 'none'; xajax.$('conceptcontent').style.display = 'block'; }; - showLoadingConceptSubjects = function() { - xajax.$('loadingConceptSubjects').style.display='block'; - xajax.$('conceptsubjectcontent').style.display = 'none'; - }; - hideLoadingConceptSubjects = function() { - xajax.$('loadingConceptSubjects').style.display = 'none'; - xajax.$('conceptsubjectcontent').style.display = 'block'; - } </script> </head> <body> <!-- <h1>DBpedia Navigator</h1> --> -<img src="images/dbpedia_navigator.png" alt="DBpedia Navigator" style="padding:5px" /> <span id="conceptlink"></span> +<img src="images/dbpedia_navigator.png" alt="DBpedia Navigator" style="padding:5px" /> <input type="button" value="Learn" class="button" onclick="xajax_learnAndShowConcept();return false;" /> <span id="conceptlink"></span> <div id="layer" style="display:none"> <div id="layerContent" style="display:none"></div> </div> @@ -96,22 +80,6 @@ </div> <!-- boxcontent --> </div> <!-- box --> - <div class="box" id="concept"> - <div class="boxtitlewithbutton"><table border="0" class="titletable"><tr><td class="left">Learned Concept</td><td class="right"><input type="button" value="Learn" class="button" onclick="xajax_learnConcept();return false;" /></td></tr></table></div> - <div class="boxcontent"> - <div id="conceptcontent" style="display:none"></div> - <div id="loadingConcept" style="display:none"><img src="ajax-loader.gif" alt="Loading..."/></div> - </div> <!-- boxcontent --> - </div> <!-- box --> - - <div class="box" id="conceptSubjects"> - <div class="boxtitlewithbutton"><table border="0" class="titletable"><tr><td class="left">Subjects From Concept</td><td class="right"><input type="button" value="Show" class="button" onclick="xajax_getSubjectsFromConcept();return false;" /></td></tr></table></div> - <div class="boxcontent"> - <div id="conceptsubjectcontent" style="display:none"></div> - <div id="loadingConceptSubjects" style="display:none"><img src="ajax-loader.gif" alt="Loading..."/></div> - </div> <!-- boxcontent --> - </div> <!-- box --> - <div class="box" id="credits"> <p>DBpedia Navigator is powered by ... <br /> <a href="http://dl-learner.org">DL-Learner</a><br /> Modified: trunk/src/dbpedia-navigator/learningExamples.txt =================================================================== --- trunk/src/dbpedia-navigator/learningExamples.txt 2008-01-30 21:36:09 UTC (rev 474) +++ trunk/src/dbpedia-navigator/learningExamples.txt 2008-01-31 07:12:28 UTC (rev 475) @@ -34,4 +34,12 @@ -Hamburg ---------------- EXISTS http://dbpedia.org/property/wappen.TOP -EXISTS http://dbpedia.org/property/wordnet_type.TOP \ No newline at end of file +EXISTS http://dbpedia.org/property/wordnet_type.TOP + ++Germany ++Poland ++France +-India +-Australia +----------------- +EXISTS http://dbpedia.org/property/leaderName.(http://dbpedia.org/class/yago/Politician110451263 AND http://dbpedia.org/class/yago/President110468559) \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |