/** * 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; }