model = $factory->getDefaultModel(); $basePath = 'data/sessions/'; $sessionPath = $basePath . $sessionID . '/'; $this->path = $sessionPath .'survey_'.$surveyID . '/'; $this->surveyID = $surveyID; $this->respondentID = $respondentID; if (!is_dir($basePath)) mkdir($basePath); if (!is_dir($sessionPath)) mkdir($sessionPath); if (!is_dir($this->path)) mkdir($this->path); if(file_exists($this->path.'/answer_'.$this->respondentID.'.rdf')) $this->model->load($this->path.'/answer_'.$this->respondentID.'.rdf'); } public function saveSurveyData() { $this->model->saveAs($this->path.'/answer_'.$this->respondentID.'.rdf','rdf'); } public function setRespondentData($name) { $resourceUser = new Resource(USER . '/' . $this->respondentID); $resourceUserType = new Resource(USER); $predicateRType = new Resource(RTYPE); $this->model->add(new Statement($resourceUser,$predicateRType,$resourceUserType)); $literalUserName = new Literal($name); $predicateName = new Resource(NAME); $this->model->add(new Statement($resourceUser,$predicateName,$literalUserName)); $literalUserID = new Literal($this->respondentID); $predicateUniqueID = new Resource(UID); $this->model->add(new Statement($resourceUser,$predicateUniqueID,$literalUserID)); $resourceSurvey = new Resource(SURVEY.'/'.$this->surveyID); $predicateRespondent = new Resource(RESPONDENT); $this->model->add(new Statement($resourceSurvey,$predicateRespondent,$resourceUser)); } public function setAnswers($answers) { foreach($answers as $questionID => $answerValues) { $resourceQuestion = new Resource(QUESTION.'/'.$questionID); $resourceQuestionType = new Resource(QUESTION); $predicateRType = new Resource(RTYPE); $this->model->add(new Statement($resourceQuestion,$predicateRType,$resourceQuestionType)); foreach($answerValues as $answerValue) { $predicateAnswered = new Resource(ANSWERED); $answer = new Literal($answerValue); $this->model->add(new Statement($resourceQuestion,$predicateAnswered,$answer)); } } } } ?>