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