model = $factory->getDefaultModel(); $this->filePath = 'data/questions/'; if (!is_dir($this->filePath)) mkdir($this->filePath); } public function loadQuestions() { if(file_exists($this->filePath.'questions.rdf')) { $this->model->load($this->filePath.'questions.rdf'); return true; } else { return false; } } public function readQuestionByID($questionID) { $result = array(); $result['title'] = $this->readQuestionTitle($questionID); $result['description'] = $this->readQuestionDescription($questionID); $result['type'] = $this->readQuestionType($questionID); $result['code'] = $this->readQuestionCode($questionID); $result['category'] = $this->readQuestionCategory($questionID); $result['answers'] = $this->readQuestionAnswers($questionID); return $result; } public function readQuestionIDs() { $result = null; if(file_exists($this->filePath.'questions.rdf')) { // Create empty MemModel $factory = new ModelFactory(); $tempmodel= $factory->getDefaultModel(); $tempmodel->load($this->filePath.'questions.rdf'); $querystring = ' PREFIX predicates: <' . SURVEYTOOL_PREDICATES_NAMESPACE . '> PREFIX resources: <' . SURVEYTOOL_RESOURCES_NAMESPACE . '> SELECT ?questionID WHERE { _question predicates:resource_type resources:question ; predicates:uid ?questionID }'; $result = $tempmodel->sparqlQuery($querystring); } return $result; } public function readQuestionCodes() { $result = null; if(file_exists($this->filePath.'questions.rdf')) { // Create empty MemModel $factory = new ModelFactory(); $tempmodel= $factory->getDefaultModel(); $tempmodel->load($this->filePath.'questions.rdf'); $querystring = ' PREFIX predicates: <' . SURVEYTOOL_PREDICATES_NAMESPACE . '> PREFIX resources: <' . SURVEYTOOL_RESOURCES_NAMESPACE . '> SELECT ?questionCode WHERE { _question predicates:resource_type resources:question ; predicates:question_code ?questionCode }'; $result = $tempmodel->sparqlQuery($querystring); } return $result; } public function readQuestionTitle($questionID) { $querystring = ' PREFIX predicates: <' . SURVEYTOOL_PREDICATES_NAMESPACE . '> PREFIX resources: <' . SURVEYTOOL_RESOURCES_NAMESPACE . '> SELECT ?questionTitle WHERE { _question predicates:resource_type resources:question ; predicates:uid "' . $questionID . '" ; predicates:title ?questionTitle }'; $result = $this->model->sparqlQuery($querystring); return $result; } public function readQuestionDescription($questionID) { $querystring = ' PREFIX predicates: <' . SURVEYTOOL_PREDICATES_NAMESPACE . '> PREFIX resources: <' . SURVEYTOOL_RESOURCES_NAMESPACE . '> SELECT ?questionDescription WHERE { _question predicates:resource_type resources:question ; predicates:uid "' . $questionID . '" ; predicates:description ?questionDescription }'; $result = $this->model->sparqlQuery($querystring); return $result; } public function readQuestionType($questionID) { $querystring = ' PREFIX predicates: <' . SURVEYTOOL_PREDICATES_NAMESPACE . '> PREFIX resources: <' . SURVEYTOOL_RESOURCES_NAMESPACE . '> SELECT ?questionType WHERE { _question predicates:resource_type resources:question ; predicates:uid "' . $questionID . '" ; predicates:question_type ?questionType }'; $result = $this->model->sparqlQuery($querystring); return $result; } public function readQuestionCode($questionID) { $querystring = ' PREFIX predicates: <' . SURVEYTOOL_PREDICATES_NAMESPACE . '> PREFIX resources: <' . SURVEYTOOL_RESOURCES_NAMESPACE . '> SELECT ?questionCode WHERE { _question predicates:resource_type resources:question ; predicates:uid "' . $questionID . '" ; predicates:question_code ?questionCode }'; $result = $this->model->sparqlQuery($querystring); return $result; } public function readQuestionCategory($questionID) { $querystring = ' PREFIX predicates: <' . SURVEYTOOL_PREDICATES_NAMESPACE . '> PREFIX resources: <' . SURVEYTOOL_RESOURCES_NAMESPACE . '> SELECT ?questionCategory WHERE { _question predicates:resource_type resources:question ; predicates:uid "' . $questionID . '" ; predicates:question_category ?questionCategory }'; $result = $this->model->sparqlQuery($querystring); return $result; } public function readQuestionAnswers($questionID) { $querystring = ' PREFIX predicates: <' . SURVEYTOOL_PREDICATES_NAMESPACE . '> PREFIX resources: <' . SURVEYTOOL_RESOURCES_NAMESPACE . '> SELECT ?answerDescription WHERE { _question predicates:resource_type resources:question ; predicates:uid "' . $questionID . '" ; predicates:has_answer ?answerDescription }'; $result = $this->model->sparqlQuery($querystring); return $result; } } ?>