From: <sk...@us...> - 2008-02-28 13:58:04
|
Revision: 661 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=661&view=rev Author: sknappe Date: 2008-02-28 05:57:59 -0800 (Thu, 28 Feb 2008) Log Message: ----------- changed the search Modified Paths: -------------- trunk/src/dbpedia-navigator/DLLearnerConnection.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-28 13:56:42 UTC (rev 660) +++ trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-02-28 13:57:59 UTC (rev 661) @@ -156,24 +156,34 @@ $run=fgets($file); fclose($file); if ($run=="false"){ - $this->client->stopSparqlQuery($this->id,$queryID); + $this->client->stopSparqlThread($this->id,$queryID); throw new Exception("Query stopped"); } } while($seconds<$this->ttl); $this->client->stopSparqlThread($this->id,$queryID); } - function getSubjects($label) + function getSubjects($label,$checkedInstances) { - $query="SELECT DISTINCT ?subject\n". - "WHERE { ?subject <http://www.w3.org/2000/01/rdf-schema#label> ?object. ?object bif:contains '\"".$label."\"'@en}\n". - "LIMIT 10"; - $result=json_decode($this->getSparqlResult($query),true); - if (count($result['results']['bindings'])==0) throw new Exception("Your query brought no result."); + $offset=1; $ret=array(); - foreach ($result['results']['bindings'] as $results){ - $ret[]=$results['subject']['value']; - } + do{ + if (strlen($checkedInstances[0])>0){ + $query="SELECT ?zw\n". + "WHERE {?zw a <".$checkedInstances[0].">.{SELECT ?subject as ?zw\n". + "WHERE { ?subject <http://www.w3.org/2000/01/rdf-schema#label> ?object. ?object bif:contains '\"".$label."\"'@en}\nLimit 100}}"; + }else { + $query="SELECT DISTINCT ?subject\n". + "WHERE { ?subject <http://www.w3.org/2000/01/rdf-schema#label> ?object. ?object bif:contains '\"".$label."\"'@en}". + "LIMIT 1000 OFFSET ".$offset; + } + $result=json_decode($this->getSparqlResult($query),true); + if ((count($result['results']['bindings'])==0)&&($offset==1)) throw new Exception("Your query brought no result."); + foreach ($result['results']['bindings'] as $results){ + $ret[]=$results['subject']['value']; + } + $offset+=1000; + } while(count($result['results']['bindings'])==1000); return $ret; } @@ -283,6 +293,6 @@ $sc=new DLLearnerConnection(); $ids=$sc->getIDs(); $sc=new DLLearnerConnection($ids[0],$ids[1]); -$triples=$sc->getSubjects("Leipzig"); +$triples=$sc->getSubjects("Paris"); var_dump($triples);*/ ?> Modified: trunk/src/dbpedia-navigator/ajaxfunctions.php =================================================================== --- trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-02-28 13:56:42 UTC (rev 660) +++ trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-02-28 13:57:59 UTC (rev 661) @@ -16,7 +16,7 @@ setRunning($id,"true"); //get parts of the list - $checkedInstances=preg_split("[,]",$list); + $checkedInstances=preg_split("[,]",$list,-1,PREG_SPLIT_NO_EMPTY); //initialise content $content=""; @@ -24,18 +24,15 @@ require_once("DLLearnerConnection.php"); $sc=new DLLearnerConnection($id,$ksID); - $subjects=$sc->getSubjects($label); + $subjects=$sc->getSubjects($label,$checkedInstances); - foreach ($subjects as $subject) - { - $content.="<a href=\"\" onclick=\"xajax_getarticle('".urldecode(str_replace("_"," ",substr (strrchr ($subject, "/"), 1)))."',-2);return false;\">".urldecode(str_replace("_"," ",substr (strrchr ($subject, "/"), 1)))."</a><br/>"; - } + $content.=getResultsTable($subjects); } catch (Exception $e){ $content=$e->getMessage(); } $objResponse = new xajaxResponse(); - $objResponse->assign("searchcontent", "innerHTML", $content); + $objResponse->assign("articlecontent", "innerHTML", $content); return $objResponse; } Modified: trunk/src/dbpedia-navigator/index.php =================================================================== --- trunk/src/dbpedia-navigator/index.php 2008-02-28 13:56:42 UTC (rev 660) +++ trunk/src/dbpedia-navigator/index.php 2008-02-28 13:57:59 UTC (rev 661) @@ -103,7 +103,7 @@ <!-- Search:<br/> --> <form onSubmit="xajax_getarticle(document.getElementById('label').value,-1);return false;"> <input type="text" name="label" id="label" /><br/> - <input type="button" value="Search" class="button" onclick="xajax_getarticle(document.getElementById('label').value,-1);return false;" /> + <input type="button" value="Article" class="button" onclick="xajax_getarticle(document.getElementById('label').value,-1);return false;" /> <input type="button" value="Search" class="button" onclick="var list=tree.getAllChecked();xajax_getsubjects(document.getElementById('label').value,list);return false;" /> <!-- <input type="button" value="Fulltext" class="button" onclick=""/> --> </form> </div> <!-- boxcontent --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |