Ignore:
Timestamp:
07/29/11 14:51:06 (14 years ago)
Author:
basvannuland
Message:

updates to the database system. ao New file structure

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/classes/SurveyAnswerRDFWriter.php

    r51 r62  
    11<?php
    22
    3 class SurveyAnswerRDFWriter extends SurveyRDFWriter
     3class SurveyAnswerRDFWriter
    44{
    5         protected $userUID;
    6         protected $answerPath;
     5    protected $userUID;
     6    protected $filePath;
    77
    8         public function __construct($surveyUID,$userUID)
     8    public function __construct($surveyUID,$sessionID,$userID)
    99    {
    10         parent::__construct($surveyUID);
    11                
    12                 $this->userUID = $userUID;
    13                 $this->answerPath = 'data/surveys/answers_'.$this->surveyUID;
     10        // Create empty MemModel
     11        $factory = new ModelFactory();
     12        $this->model = $factory->getDefaultModel();
     13       
     14        $this->filePath = 'data/sessions/' .  $sessionID . '/survey_'.$surveyUID . '/';
     15        $this->userID = $userID;
     16       
     17        if (!is_dir($this->filePath))
     18            mkdir($this->filePath);             
    1419    }
    15        
    16         public function saveSurvey()
    17         {       
    18                 if (!is_dir($this->answerPath))
    19                         mkdir($this->answerPath);               
    20                 $this->model->saveAs($this->answerPath.'/answer_'.$this->userUID.'.rdf','rdf');
    21         }
    22        
    23         public function setRespondentData($name)
    24         {                               
    25                 $resourceUser = new Resource(USER . '/' . $userID);             
    26                
    27                 $resourceUserType = new Resource(USER);
    28                 $predicateRType = new Resource(RTYPE);
    29                 $this->model->add(new Statement($resourceUser,$predicateRType,$resourceUserType));
    30                
    31                 $LiteralUserName = new Literal($name);
    32                 $predicateName = new Resource(NAME);
    33                 $this->model->add(new Statement($resourceUser,$predicateUniqueID,$LiteralUserName));           
    34                
    35                 $literalUserID = new Literal($this->userUID);
    36                 $predicateUniqueID = new Resource(UID);
    37                 $this->model->add(new Statement($resourceUser,$predicateUniqueID,$literalUserID));
    38                
    39                 $predicateRespondent = new Resource(REPONDENT);
    40                 $this->model->add(new Statement($this->resourceSurvey,$predicateRespondent,$resourceUser));
    41         }
    42        
    43         public function setAnswers($answers)
    44         {
    45                 foreach($answers as $questionID => $answerValue)
    46                 {                                       
    47                         $resourceQuestion = new Resource(QUESTION.'/'.$questionID);
    48                                                
    49                         $predicateAnswered = new Resource(ANSWERED);   
    50                         $answer = new Literal($answerValue);
    51                         $this->model->add(new Statement($resourceQuestion,$predicateAnswered,$answer));
    52                 }
    53         }
     20
     21    public function saveSurvey()
     22    {           
     23        $this->model->saveAs($this->filePath.'/answer_'.$this->userUID.'.rdf','rdf');
     24    }
     25
     26    public function setRespondentData($name)
     27    {                           
     28        $resourceUser = new Resource(USER . '/' . $this->userID);               
     29
     30        $resourceUserType = new Resource(USER);
     31        $predicateRType = new Resource(RTYPE);
     32        $this->model->add(new Statement($resourceUser,$predicateRType,$resourceUserType));
     33
     34        $LiteralUserName = new Literal($name);
     35        $predicateName = new Resource(NAME);
     36        $this->model->add(new Statement($resourceUser,$predicateUniqueID,$LiteralUserName));           
     37
     38        $literalUserID = new Literal($this->userUID);
     39        $predicateUniqueID = new Resource(UID);
     40        $this->model->add(new Statement($resourceUser,$predicateUniqueID,$literalUserID));
     41
     42        $predicateRespondent = new Resource(REPONDENT);
     43        $this->model->add(new Statement($this->resourceSurvey,$predicateRespondent,$resourceUser));
     44    }
     45
     46    public function setAnswers($answers)
     47    {
     48        foreach($answers as $questionID => $answerValue)
     49        {                                       
     50            $resourceQuestion = new Resource(QUESTION.'/'.$questionID);
     51
     52            $predicateAnswered = new Resource(ANSWERED);       
     53            $answer = new Literal($answerValue);
     54            $this->model->add(new Statement($resourceQuestion,$predicateAnswered,$answer));
     55        }
     56    }
    5457}
    5558
Note: See TracChangeset for help on using the changeset viewer.