Changes in Dev/trunk/classes/SurveyRDFWriter.php [28:16]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/trunk/classes/SurveyRDFWriter.php
r28 r16 3 3 class SurveyRDFWriter 4 4 { 5 protected$model;5 var $model; 6 6 7 protected $resourceSurvey; 8 protected $surveyUID; 9 10 public function __construct($surveyUID) 7 var $resourceSurvey; 8 /** 9 * Use SurveyRDFWriter::getInstance() instead of this 10 * constructor. 11 */ 12 public function __construct() 11 13 { 12 14 // Create empty MemModel … … 14 16 $this->model = $factory->getDefaultModel(); 15 17 16 $this->surveyUID = $surveyUID; 18 $this->initResources(); 19 } 20 21 function initResources() 22 { 17 23 18 } 19 20 public function saveSurvey() 21 { 22 $this->model->saveAs('surveys/survey_'.$this->surveyUID.'.rdf','rdf'); 24 $this->resourceSurvey = new Resource(SURVEY); 23 25 } 24 26 25 27 public function createSurvey($sTitle, $sDescription) 26 28 { 27 $this->resourceSurvey = new Resource(SURVEY.'/'.$this->surveyUID);28 29 $resourceSurveyType = new Resource(SURVEY);30 $predicateRType = new Resource(RTYPE);31 $this->model->add(new Statement($this->resourceSurvey,$predicateRType,$resourceSurveyType));32 33 $literalSurveyID = new Literal($this->surveyUID);34 $predicateUniqueID = new Resource(UID);35 $this->model->add(new Statement($this->resourceSurvey,$predicateUniqueID,$literalSurveyID));36 29 37 30 $predicateTitle = new Resource(TITLE); … … 46 39 public function addQuestion($qTitle,$qDescription,$qType,$qAnswers) 47 40 { 48 $questionID = md5( uniqid(rand(), true) ); 49 $resourceQuestion = new Resource(QUESTION.'/'.$questionID); 50 51 $resourceQuestionType = new Resource(QUESTION); 52 $predicateRType = new Resource(RTYPE); 53 $this->model->add(new Statement($resourceQuestion,$predicateRType,$resourceQuestionType)); 54 55 $predicateUniqueID = new Resource(UID); 56 $questionUID = new Literal($questionID); 57 $this->model->add(new Statement($resourceQuestion,$predicateUniqueID,$questionUID)); 58 41 $resourceQuestion = new Resource(QUESTION); 42 $predicateQuestion = new Resource(HAS_QUESTION); 43 $this->model->add(new Statement($this->resourceSurvey,$predicateQuestion,$resourceQuestion)); 44 59 45 $predicateTitle = new Resource(TITLE); 60 46 $questionTitle = new Literal($qTitle); … … 65 51 $this->model->add(new Statement($resourceQuestion,$predicateDescription,$questionDescription)); 66 52 67 $predicate QType = new Resource(QTYPE);68 $resourceQuestionType = new Literal($qType);69 $this->model->add(new Statement($resourceQuestion,$predicate QType,$resourceQuestionType));53 $predicateType = new Resource(TYPE); 54 $resourceQuestionType = new Resource(QUESTION_TYPE); 55 $this->model->add(new Statement($resourceQuestion,$predicateType,$resourceQuestionType)); 70 56 71 57 foreach($qAnswers as $answer) 72 { 73 $answerID = md5( uniqid(rand(), true) ); 74 $resourceAnswer = new Resource(ANSWER.'/'.$answerID); 75 76 $resourceAnswerType = new Resource(ANSWER); 77 $predicateRType = new Resource(RTYPE); 78 $this->model->add(new Statement($resourceAnswer,$predicateRType,$resourceAnswerType)); 79 80 $predicateUniqueID = new Resource(UID); 81 $answerUID = new Literal($answerID); 82 $this->model->add(new Statement($resourceAnswer,$predicateUniqueID,$answerUID)); 83 58 { 59 $resourceAnswer = new Resource(ANSWER); 60 $predicateAnswer = new Resource(HAS_ANSWER); 61 $this->model->add(new Statement($resourceQuestion,$predicateAnswer,$resourceAnswer)); 62 63 $predicateTitle = new Resource(TITLE); 84 64 $answerTitle = new Literal($answer['Title']); 85 65 $this->model->add(new Statement($resourceAnswer,$predicateTitle,$answerTitle)); 86 66 67 $predicateDescription = new Resource(DESCRIPTION); 87 68 $answerDescription = new Literal($answer['Description']); 88 69 $this->model->add(new Statement($resourceAnswer,$predicateDescription,$answerDescription)); 89 70 90 $predicateAnswer = new Resource(HAS_ANSWER);91 $this->model->add(new Statement($resourceQuestion,$predicateAnswer,$resourceAnswer));92 71 } 93 72 94 $predicateQuestion = new Resource(HAS_QUESTION); 95 $this->model->add(new Statement($this->resourceSurvey,$predicateQuestion,$resourceQuestion)); 73 96 74 } 75 76 public function saveSurvey($sTitle) 77 { 78 $this->model->saveAs('surveys/'.$sTitle.'.rdf','rdf'); 79 80 return true; 81 } 82 97 83 } 98 84
Note: See TracChangeset
for help on using the changeset viewer.