Пример #1
0
 /**
  * Create a MemModel containing all the triples (including inferred 
  * statements) of the current InfModelF.
  *
  * @return object MemModel
  * @access public
  */
 function &getMemModel()
 {
     $return = new MemModel();
     $return->setBaseURI($this->baseURI);
     foreach ($this->triples as $statement) {
         $return->add($statement);
     }
     $return->addParsedNamespaces($this->getParsedNamespaces());
     return $return;
 }
Пример #2
0
 /**
  * Convert an ADORecordSet to a memory Model.
  *
  * Every successful database query returns an ADORecordSet object which is actually
  * a cursor that holds the current row in the array fields[].
  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  * !!! This method can only be applied to a RecordSet with array fields[]
  * !!! containing a representation of the database table: statements,
  * !!! with an index corresponding to following table columns:
  * !!! [0] - subject, [1] - predicate, [2] - object, [3] - l_language,
  * !!! [4] - l_datatype, [5] - subject_is, [6] - object_is
  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  *
  * @param   object  ADORecordSet
  * @return  object  MemModel
  * @access	private
  */
 function _convertRecordSetToMemModel(&$recordSet)
 {
     $res = new MemModel($this->baseURI);
     while (!$recordSet->EOF) {
         // subject
         if ($recordSet->fields[5] == 'r') {
             $sub = new Resource($recordSet->fields[0]);
         } else {
             $sub = new BlankNode($recordSet->fields[0]);
         }
         // predicate
         $pred = new Resource($recordSet->fields[1]);
         // object
         if ($recordSet->fields[6] == 'r') {
             $obj = new Resource($recordSet->fields[2]);
         } elseif ($recordSet->fields[6] == 'b') {
             $obj = new BlankNode($recordSet->fields[2]);
         } else {
             $obj = new Literal($recordSet->fields[2], $recordSet->fields[3]);
             if ($recordSet->fields[4]) {
                 $obj->setDatatype($recordSet->fields[4]);
             }
         }
         $statement = new Statement($sub, $pred, $obj);
         $res->add($statement);
         $recordSet->moveNext();
     }
     $res->addParsedNamespaces($this->getParsedNamespaces());
     return $res;
 }