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