Example #1
0
 /**
  * Builds the resultset.
  *
  * @param  GraphPattern $pattern
  * @param  Array        $resmodel
  * @return Array
  */
 protected function _buildResultSet($pattern, $resmodel)
 {
     // determine variables and their corresponding values
     $result = null;
     if (is_string($pattern->getSubject())) {
         $n = 0;
         foreach ($resmodel['trip'] as $key => $triple) {
             if (isset($resmodel['graphvar'][$key])) {
                 $result[$n][$resmodel['graphvar'][$key]] = $resmodel['graph'][$key];
             }
             $result[$n++][$pattern->getSubject()] = $triple->subj;
         }
     }
     if (is_string($pattern->getPredicate())) {
         $n = 0;
         foreach ($resmodel['trip'] as $key => $triple) {
             if (isset($resmodel['graphvar'][$key])) {
                 $result[$n][$resmodel['graphvar'][$key]] = $resmodel['graph'][$key];
             }
             $result[$n++][$pattern->getPredicate()] = $triple->pred;
         }
     }
     if (is_string($pattern->getObject())) {
         $n = 0;
         foreach ($resmodel['trip'] as $key => $triple) {
             if (isset($resmodel['graphvar'][$key])) {
                 $result[$n][$resmodel['graphvar'][$key]] = $resmodel['graph'][$key];
             }
             $result[$n++][$pattern->getObject()] = $triple->obj;
         }
     }
     return $result;
 }