From: <sk...@us...> - 2008-09-15 07:43:36
|
Revision: 1204 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1204&view=rev Author: sknappe Date: 2008-09-15 07:43:31 +0000 (Mon, 15 Sep 2008) Log Message: ----------- changed the database connection, now use a class to connect to the database, this should make the connection more generic, other databases than mysql could be used, at the moment only support for mysql Modified Paths: -------------- trunk/src/dbpedia-navigator/Settings.php trunk/src/dbpedia-navigator/ajax_get_class.php trunk/src/dbpedia-navigator/ajax_get_subjects_from_category.php trunk/src/dbpedia-navigator/ajax_get_subjects_from_concept.php trunk/src/dbpedia-navigator/ajax_learn_concepts.php trunk/src/dbpedia-navigator/ajax_search.php trunk/src/dbpedia-navigator/ajax_set_positives_and_negatives.php trunk/src/dbpedia-navigator/helper_functions.php Removed Paths: ------------- trunk/src/dbpedia-navigator/images/csh_bluebooks/ Modified: trunk/src/dbpedia-navigator/Settings.php =================================================================== --- trunk/src/dbpedia-navigator/Settings.php 2008-09-14 19:13:22 UTC (rev 1203) +++ trunk/src/dbpedia-navigator/Settings.php 2008-09-15 07:43:31 UTC (rev 1204) @@ -37,7 +37,7 @@ // public $dbpediauri='http://dbpedia2.openlinksw.com:8890/isparql'; // in mikrosekunden public $sparqlttl=60000000; - public $learnttl=30000000; + public $learnttl=60000000; public $language="en"; @@ -48,12 +48,16 @@ public $useCache=true; + //the type of database server + public $database_type='mysql'; //the server, where the mysql databank is located - public $mysqlServer='localhost'; + public $database_server='localhost'; //the user, that has rights to access the navigator databank - public $mysqlUser='navigator'; + public $database_user='navigator'; //the password of that user - public $mysqlPass='dbpedia'; + public $database_pass='dbpedia'; + //the name of the used database + public $database_name='navigator_db'; } ?> \ No newline at end of file Modified: trunk/src/dbpedia-navigator/ajax_get_class.php =================================================================== --- trunk/src/dbpedia-navigator/ajax_get_class.php 2008-09-14 19:13:22 UTC (rev 1203) +++ trunk/src/dbpedia-navigator/ajax_get_class.php 2008-09-15 07:43:31 UTC (rev 1204) @@ -1,6 +1,7 @@ <?php - include('helper_functions.php'); - include('Settings.php'); + include_once('Settings.php'); + include_once('DatabaseConnection.php'); + include_once('helper_functions.php'); $class=$_POST['class']; $fromCache=$_POST['cache']; @@ -35,17 +36,20 @@ if ($fromCache<0) { //if there are errors see catch block try{ - mysql_connect($mysqlServer,$mysqlUser,$mysqlPass); - mysql_select_db("navigator_db"); + //connect to the database + $settings=new Settings(); + $databaseConnection=new DatabaseConnection($settings->database_type); + $databaseConnection->connect($settings->database_server,$settings->database_user,$settings->database_pass); + $databaseConnection->select_database($settings->database_name); //build Select box with Child Classes $query="SELECT child FROM classhierarchy WHERE father='$class'"; - $res=mysql_query($query); + $res=$databaseConnection->query($query); $childClasses=''; - while ($result=mysql_fetch_array($res)){ + while ($result=$databaseConnection->nextEntry($res)){ $query="SELECT label FROM categories WHERE category='".$result['child']."' LIMIT 1"; - $res2=mysql_query($query); - $result2=mysql_fetch_array($res2); + $res2=$databaseConnection->query($query); + $result2=$databaseConnection->nextEntry($res2); $identify=urldecode(str_replace("_"," ",substr (strrchr ($result['child'], "/"), 1))); if ((strlen($identify)+strlen($result2['label']))>100) $identify=substr($identify,0,100-strlen($result2['label'])); $childClasses.='<option value="'.$result['child'].'">'.utf8_to_html($result2['label']).' ('.$identify.')</option>'; @@ -56,12 +60,12 @@ //build Select box with Father Classes $query="SELECT father FROM classhierarchy WHERE child='$class'"; - $res=mysql_query($query); + $res=$databaseConnection->query($query); $fatherClasses=''; - while ($result=mysql_fetch_array($res)){ + while ($result=$databaseConnection->nextEntry($res)){ $query="SELECT label FROM categories WHERE category='".$result['father']."' LIMIT 1"; - $res2=mysql_query($query); - $result2=mysql_fetch_array($res2); + $res2=$databaseConnection->query($query); + $result2=$databaseConnection->nextEntry($res2); $identify=urldecode(str_replace("_"," ",substr (strrchr ($result['father'], "/"), 1))); if ((strlen($identify)+strlen($result2['label']))>100) $identify=substr($identify,0,100-strlen($result2['label'])); $fatherClasses.='<option value="'.$result['father'].'">'.utf8_to_html($result2['label']).' ('.$identify.')</option>'; @@ -71,8 +75,8 @@ //build Title $query="SELECT label FROM categories WHERE category='$class' LIMIT 1"; - $res=mysql_query($query); - $result=mysql_fetch_array($res); + $res=$databaseConnection->query($query); + $result=$databaseConnection->nextEntry($res); $title=$result['label']; $content.=getClassView($fatherClasses,$childClasses,$title,$class); Modified: trunk/src/dbpedia-navigator/ajax_get_subjects_from_category.php =================================================================== --- trunk/src/dbpedia-navigator/ajax_get_subjects_from_category.php 2008-09-14 19:13:22 UTC (rev 1203) +++ trunk/src/dbpedia-navigator/ajax_get_subjects_from_category.php 2008-09-15 07:43:31 UTC (rev 1204) @@ -1,5 +1,7 @@ <?php - include('helper_functions.php'); + include_once('helper_functions.php'); + include_once('Settings.php'); + include_once('DatabaseConnection.php'); $category=$_POST['category']; $number=$_POST['number']; @@ -14,26 +16,29 @@ $content=""; $bestsearches=""; - mysql_connect($mysqlServer,$mysqlUser,$mysqlPass); - mysql_select_db("navigator_db"); + //connect to the database + $settings=new Settings(); + $databaseConnection=new DatabaseConnection($settings->database_type); + $databaseConnection->connect($settings->database_server,$settings->database_user,$settings->database_pass); + $databaseConnection->select_database($settings->database_name); //get label of the category $query="SELECT label FROM categories WHERE category='$category' LIMIT 1"; - $res=mysql_query($query); - $result=mysql_fetch_array($res); + $res=$databaseConnection->query($query); + $result=$databaseConnection->nextEntry($res); $label=$result['label']; $query="SELECT name FROM articlecategories WHERE category='$category' ORDER BY number DESC LIMIT ".$number; - $res=mysql_query($query); + $res=$databaseConnection->query($query); $bestsearches=""; - if (mysql_num_rows($res)>0){ + if ($databaseConnection->numberOfEntries($res)>0){ $names=array(); $labels=array(); - while ($result=mysql_fetch_array($res)){ + while ($result=$databaseConnection->nextEntry($res)){ $names[]=$result['name']; $query="SELECT label FROM rank WHERE name='".$result['name']."' LIMIT 1"; - $res2=mysql_query($query); - $result2=mysql_fetch_array($res2); + $res2=$databaseConnection->query($query); + $result2=$databaseConnection->nextEntry($res2); $labels[]=$result2['label']; } $content.=getCategoryResultsTable($names,$labels,$category,$number); Modified: trunk/src/dbpedia-navigator/ajax_get_subjects_from_concept.php =================================================================== --- trunk/src/dbpedia-navigator/ajax_get_subjects_from_concept.php 2008-09-14 19:13:22 UTC (rev 1203) +++ trunk/src/dbpedia-navigator/ajax_get_subjects_from_concept.php 2008-09-15 07:43:31 UTC (rev 1204) @@ -1,7 +1,8 @@ <?php include('helper_functions.php'); - $concept=$_POST['concept']; + $manchester=$_POST['manchester']; + $kb=$_POST['kb']; session_start(); $id=$_SESSION['id']; @@ -12,8 +13,11 @@ $concept=html_entity_decode($concept); - $test=preg_match("/^http://dbpedia.org/class/yago/[^/]+$/",$concept); + $test=preg_match("/(http:\/\/dbpedia\.org\/class\/yago\/[^\040]+(\040)*(AND|OR)*)+/",$manchester); + if ($test){ + + } $content=""; /*try{ require_once("DLLearnerConnection.php"); Modified: trunk/src/dbpedia-navigator/ajax_learn_concepts.php =================================================================== --- trunk/src/dbpedia-navigator/ajax_learn_concepts.php 2008-09-14 19:13:22 UTC (rev 1203) +++ trunk/src/dbpedia-navigator/ajax_learn_concepts.php 2008-09-15 07:43:31 UTC (rev 1204) @@ -29,7 +29,7 @@ $concept.="<table border=0>\n"; $concept.="<tr><td>You could also be interested in articles matching these descriptions:</td></tr>"; foreach ($concepts as $con){ - $concept.="<tr><td><a href=\"\" onclick=\"getSubjectsFromConcept('concept=".htmlentities($con['descriptionManchesterSyntax'])."');return false;\" />".$con['NaturalLanguage']."</a> (Accuracy: ".(floatVal($con['accuracy'])*100)."%)</td></tr>"; + $concept.="<tr><td><a href=\"\" onclick=\"getSubjectsFromConcept('manchester=".htmlentities($con['descriptionManchesterSyntax'])."&kb=".htmlentities($con['descriptionKBSyntax'])."');return false;\" />".$con['NaturalLanguage']."</a> (Accuracy: ".(floatVal($con['accuracy'])*100)."%)</td></tr>"; } $concept.="</table>"; } Modified: trunk/src/dbpedia-navigator/ajax_search.php =================================================================== --- trunk/src/dbpedia-navigator/ajax_search.php 2008-09-14 19:13:22 UTC (rev 1203) +++ trunk/src/dbpedia-navigator/ajax_search.php 2008-09-15 07:43:31 UTC (rev 1204) @@ -1,5 +1,7 @@ <?php - include('helper_functions.php'); + include_once('helper_functions.php'); + include_once('Settings.php'); + include_once('DatabaseConnection.php'); $label=urldecode($_POST['label']); $number=$_POST['number']; @@ -12,24 +14,28 @@ //initialise content $content=""; - mysql_connect($mysqlServer,$mysqlUser,$mysqlPass); - mysql_select_db("navigator_db"); + //connect to the database + $settings=new Settings(); + $databaseConnection=new DatabaseConnection($settings->database_type); + $databaseConnection->connect($settings->database_server,$settings->database_user,$settings->database_pass); + $databaseConnection->select_database($settings->database_name); + $query="SELECT name, label FROM rank WHERE MATCH (label) AGAINST ('$label') ORDER BY number DESC LIMIT ".$number; - $res=mysql_query($query); + $res=$databaseConnection->query($query); $bestsearches=""; - if (mysql_num_rows($res)>0){ + if ($databaseConnection->numberOfEntries($res)>0){ $names=array(); $labels=array(); $classes=array(); $tags=array(); $catlabels=array(); - while ($result=mysql_fetch_array($res)){ + while ($result=$databaseConnection->nextEntry($res)){ $labels[]=$result['label']; $names[]=$result['name']; $query="SELECT category FROM articlecategories WHERE name='".$result['name']."'"; - $res3=mysql_query($query); + $res3=$databaseConnection->query($query); $arr=array(); - while ($result3=mysql_fetch_array($res3)){ + while ($result3=$databaseConnection->nextEntry($res3)){ $arr[]=$result3['category']; } if (count($arr)==0){ @@ -44,8 +50,8 @@ if (!isset($tags[$arr[$i]])) $tags[$arr[$i]]=1; else $tags[$arr[$i]]++; $query="SELECT label FROM categories WHERE category='".$arr[$i]."' LIMIT 1"; - $res2=mysql_query($query); - $result2=mysql_fetch_array($res2); + $res2=$databaseConnection->query($query); + $result2=$databaseConnection->nextEntry($res2); if (!isset($catlabels[$arr[$i]])) $catlabels[$arr[$i]]=$result2['label']; } } Modified: trunk/src/dbpedia-navigator/ajax_set_positives_and_negatives.php =================================================================== --- trunk/src/dbpedia-navigator/ajax_set_positives_and_negatives.php 2008-09-14 19:13:22 UTC (rev 1203) +++ trunk/src/dbpedia-navigator/ajax_set_positives_and_negatives.php 2008-09-15 07:43:31 UTC (rev 1204) @@ -1,5 +1,7 @@ <?php - include('helper_functions.php'); + include_once('helper_functions.php'); + include_once('Settings.php'); + include_once('DatabaseConnection.php'); $positives=$_POST['positives']; $negatives=$_POST['negatives']; @@ -9,22 +11,25 @@ if (strlen($negatives)>0) $negatives=explode('][',substr($negatives,1,strlen($negatives)-2)); else $negatives=array(); - mysql_connect($mysqlServer,$mysqlUser,$mysqlPass); - mysql_select_db("navigator_db"); + //connect to the database + $settings=new Settings(); + $databaseConnection=new DatabaseConnection($settings->database_type); + $databaseConnection->connect($settings->database_server,$settings->database_user,$settings->database_pass); + $databaseConnection->select_database($settings->database_name); $ptemp=array(); foreach ($positives as $pos){ $query="SELECT label FROM rank WHERE name='$pos' LIMIT 1"; - $res=mysql_query($query); - $result=mysql_fetch_array($res); + $res=$databaseConnection->query($query); + $result=$databaseConnection->nextEntry($res); $ptemp[$pos]=$result['label']; } $ntemp=array(); foreach ($negatives as $neg){ $query="SELECT label FROM rank WHERE name='$neg' LIMIT 1"; - $res=mysql_query($query); - $result=mysql_fetch_array($res); + $res=$databaseConnection->query($query); + $result=$databaseConnection->nextEntry($res); $ntemp[$neg]=$result['label']; } Modified: trunk/src/dbpedia-navigator/helper_functions.php =================================================================== --- trunk/src/dbpedia-navigator/helper_functions.php 2008-09-14 19:13:22 UTC (rev 1203) +++ trunk/src/dbpedia-navigator/helper_functions.php 2008-09-15 07:43:31 UTC (rev 1204) @@ -235,13 +235,19 @@ } function formatClassArray($ar) { - mysql_connect($mysqlServer,$mysqlUser,$mysqlPass); - mysql_select_db("navigator_db"); + include_once('Settings.php'); + include_once('DatabaseConnection.php'); + //connect to the database + $settings=new Settings(); + $databaseConnection=new DatabaseConnection($settings->database_type); + $databaseConnection->connect($settings->database_server,$settings->database_user,$settings->database_pass); + $databaseConnection->select_database($settings->database_name); + $string="<ul>"; for($i=0; $i<count($ar); $i++) { $query="SELECT label FROM categories WHERE category='".$ar[$i]['value']."' LIMIT 1"; - $res=mysql_query($query); - $result=mysql_fetch_array($res); + $res=$databaseConnection->query($query); + $result=$databaseConnection->nextEntry($res); if ($ar[$i]['value']!="http://xmlns.com/foaf/0.1/Person") $string .= '<li>' . formatClass($ar[$i]['value'],$result['label']).'</li>'; } return $string."</ul>"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |