Source for file SparqlEngineDb.php
Documentation is available at SparqlEngineDb.php
- require_once RDFAPI_INCLUDE_DIR - .  'sparql/SparqlEngine.php';
 
- require_once RDFAPI_INCLUDE_DIR - .  'sparql/SparqlEngineDb/Offsetter.php';
 
- require_once RDFAPI_INCLUDE_DIR - .  'sparql/SparqlEngineDb/ResultConverter.php';
 
- require_once RDFAPI_INCLUDE_DIR - .  'sparql/SparqlEngineDb/SqlGenerator.php';
 
- require_once RDFAPI_INCLUDE_DIR - .  'sparql/SparqlEngineDb/SqlMerger.php';
 
- *   SPARQL engine optimized for databases. 
- *   Generates SQL statements to directly query the database, 
- *   letting the database system do all the hard work like 
- *   selecting, joining, filtering and ordering results. 
- *   @author Christian Weiske <cweiske@cweiske.de> 
-     *   Database connection object. 
-     *   Internal ID for our graph model. 
-     *   Stored in the database along the statements. 
-     *   Prepared SQL statements are stored in here. 
-     *   If the prepared statement is really prepared, or if we just emulate it. 
-     *   @var SparqlEngineDb_SqlGenerator  
-     *   @var SparqlEngineDb_TypeSorter  
-     *   Prepared statments preparator instance 
-     *   @var SparqlEngineDb_Preparator  
-     *   Use SparqlEngine::factory() to create the instance 
-         $this->dbConn-   =  $model->getDbConn();
 
-         $this->modelID-  =  $model->getModelID();
 
-     }//public function __construct(DbModel $model) 
-     *   Query the database with the given SPARQL query. 
-     *   @param  Dataset       $dataset    RDF Dataset 
-     *   @param  Query         $query      Parsed SPARQL query 
-     *   @param  string        $resultform Result form. If set to 'xml' the result will be 
-     *                                    SPARQL Query Results XML Format as described in http://www.w3.org/TR/rdf-sparql-XMLres/ . 
-     *   @return array/string  array of triple arrays, or XML. Format depends on 
-     public function queryModel(Dataset $dataset, Query $query, $resultform - =  false)
 
-             $vartable[0]['patternResult'] - =  null;
 
-             return $this->returnResult($vartable, $resultform); 
-     }//public function queryModel(Dataset $dataset, Query $query, $resultform = false) 
-     *   Create a prepared statement that can be executed later. 
-     *   @param  Dataset       $dataset    RDF Dataset 
-     *   @param  Query         $query      Parsed SPARQL query 
-     *   @return SparqlEngineDb_PreparedStatement Prepared statment that can 
-     public function prepare(Dataset $dataset, Query $query) 
-         require_once RDFAPI_INCLUDE_DIR - .  'sparql/SparqlEngineDb/PreparedStatement.php';
 
-         require_once RDFAPI_INCLUDE_DIR - .  'sparql/SparqlEngineDb/Preparator.php';
 
-             list ($strSelect, $strFrom, $strWhere)- =  $this->arPrepared;
-                 $this->arPreparedQueries, 
-     }//public function prepare(Dataset $dataset, Query $query) 
-     *   Execute a prepared statement by filling it with variables 
-     *   @param array $arVariables   Array with (variable name => value) pairs 
-     *   @param string $resultform   Which form the result should have 
-     *   @return mixed   Result according to $resultform 
-     public function execute($arVariables, $resultform - =  false)
 
-             throw  new Exception('You need to prepare() the query first.');
-             list ($strSelect, $strFrom, $strWhere)- =  $this->arPrepared;
-     }//public function execute($arVariables, $resultform) 
-     *   Executes multiple SQL queries and returns an array 
-     *   @param array $arSqls     Array of SQL queries 
-     *   @return array   Array of query results 
-         if ($arSM['limit'] - ===  null- &&  $arSM['offset']- ===  null) {
 
-             list ($nSql, $nOffset)- =  $offsetter->determineOffset($arSqls);
-             $nLimit    - =  $arSM['limit'];
 
-         foreach ($arSqls as $nId - =>  $arSql) {
 
-             if ($nId - <  $nSql) { continue; }
 
-                 $nCurrentLimit - =  $nLimit- -  $nCount;
 
-             $dbResult    - =  $this->queryDb($arSql, $nOffset, $nCurrentLimit);
 
-             $nCount     - +=  $dbResult->RowCount();
 
-             $arResults[] - =  $dbResult;
 
-             if ($nLimit - !==  null- &&  $nCount- >=  $nLimit) {
 
-         //return array_map(array($this, 'queryDb'), $arSql); 
-     }//protected function queryMultiple($arSql) 
-     *   Sends the sql to the database and returns the results. 
-     *   @internal Switches between ADOConnection::Execute() and 
-     *     ADOConnection::SelectLimit() depending on the $query parameter's 
-     *     $solutionModifier "limit" and "offset" settings. 
-     *   @param array $arSql     Array that gets a SQL query string once imploded 
-     *   @return mixed           Anything ADOConnection::Execute() may return 
-     *   @throws Exception       If Database query does not work 
-     function queryDb($arSql, $nOffset, $nLimit) 
-             return new ADORecordSet(false); 
-         // I want associative arrays. 
-         $oldmode - =  $this->dbConn->SetFetchMode(ADODB_FETCH_ASSOC);
 
-         if ($nLimit - ===  null- &&  $nOffset- ==  0) {
 
-             $ret - =  $this->dbConn->execute($strSql);
 
-         } else if ($nLimit - ===  null) {
 
-             $ret - =  $this->dbConn->SelectLimit($strSql,- - 1, $nOffset);
 
-             $ret - =  $this->dbConn->SelectLimit($strSql, $nLimit, $nOffset);
 
-         //... but others maybe not 
-         $this->dbConn->SetFetchMode($oldmode); 
-                 'ADOdb error: ' - .  $this->dbConn->ErrorMsg()- .  "\n"
 
-     }//function queryDb($sql) 
-     }//public function getQuery() 
-     }//public function getSqlGenerator() 
-     }//public function getTypeSorter() 
 
	
		Documentation generated on Fri,  1 Jun 2007 16:52:08 +0200 by phpDocumentor 1.3.2