source: Dev/trunk/classes/SessionRDFWriter.php @ 88

Last change on this file since 88 was 78, checked in by basvannuland, 14 years ago

save and load application
start with save and load session

File size: 3.7 KB
Line 
1<?php
2
3class SessionRDFWriter
4{
5    protected $model;
6
7    protected $sessionUID;
8    protected $resourceSession;
9           
10    protected $filePath;
11
12    public function __construct($sessionUID)
13    {
14        // Create empty MemModel
15        $factory = new ModelFactory();
16        $this->model = $factory->getDefaultModel();
17
18        $this->sessionUID = $sessionUID;       
19        $this->filePath = 'data/sessions/';
20        if (!is_dir($this->filePath))
21            mkdir($this->filePath);     
22    }
23   
24    public function saveAs()
25    {
26        $this->model->saveAs($this->filePath.
27                'session_' . $this->surveyUID . '/.' .
28                $this->surveyUID  .'.rdf',
29                'rdf');
30    }
31   
32    public function createSession($sTitle,$sDescription)
33    {
34        $this->resourceSession = new Resource(SESSION.'/'.$this->sessionUID);
35
36        $resourceSessionType = new Resource(SESSION);
37        $predicateRType = new Resource(RTYPE);
38        $this->model->add(new Statement($this->resourceSession,$predicateRType,$resourceSessionType));
39
40        $literalSessionID = new Literal($this->sessionUID);
41        $predicateUniqueID = new Resource(UID);
42        $this->model->add(new Statement($this->resourceSession,$predicateUniqueID,$literalSessionID));
43
44        $predicateTitle = new Resource(TITLE);         
45        $sessionTitle = new Literal($sTitle);
46        $this->model->add(new Statement($this->resourceSession,$predicateTitle,$sessionTitle));         
47
48        $predicateDescription = new Resource(DESCRIPTION);
49        $sessionDescription = new Literal($sDescription);
50        $this->model->add(new Statement($this->resourceSession,$predicateDescription,$sessionDescription));
51    }
52   
53    public function addSurveyToPipeline($uid,$index)
54    {
55        $resourceSurvey = new Resource(SURVEY);
56        $predicateHasProcess = new Resource(HAS_PROCESS);
57        $this->model->add(new Statement($this->resourceSession,$predicateHasProcess,$resourceSurvey));
58       
59        $literalSurveyID = new Literal($uid);
60        $predicateUID = new Resource(UID);
61        $this->model->add(new Statement($$resourceSurvey,$predicateUID,$literalSurveyID));       
62       
63        $literalIndex = new Literal($index);
64        $predicateIndex = new Resource(INDEX);       
65        $this->model->add(new Statement($resourceSurvey,$predicateIndex,$literalIndex));
66    }
67   
68    public function addApplicationToPipeline($uid,$index)
69    {
70        $resourceApplication = new Resource(APPLICATION);
71        $predicateHasProcess = new Resource(HAS_PROCESS);
72        $this->model->add(new Statement($this->resourceSession,$predicateHasProcess,$resourceApplication));
73       
74        $literalApplicationID = new Literal($uid,$index);
75        $predicateUID = new Resource(UID);
76        $this->model->add(new Statement($resourceApplication,$predicateUID,$literalApplicationID));       
77       
78        $literalIndex = new Literal($index);
79        $predicateIndex = new Resource(INDEX);       
80        $this->model->add(new Statement($resourceApplication,$predicateIndex,$literalIndex));
81    }
82   
83    public function addDashboardToPipeline($uid,$index)
84    {
85        $resourceDashboard = new Resource(DASHBOARD);
86        $predicateHasProcess = new Resource(HAS_PROCESS);
87        $this->model->add(new Statement($this->resourceSession,$predicateHasProcess,$resourceDashboard));
88       
89        $literalDashboardID = new Literal($uid);
90        $predicateUID = new Resource(UID);
91        $this->model->add(new Statement($resourceDashboard,$predicateUID,$literalDashboardID));       
92       
93        $literalIndex = new Literal($index);
94        $predicateIndex = new Resource(INDEX);       
95        $this->model->add(new Statement($resourceDashboard,$predicateIndex,$literalIndex));
96    }
97}
98?>
Note: See TracBrowser for help on using the repository browser.