summaryrefslogtreecommitdiff
path: root/src/ontologies/nepomuk/39-mto.ontology
blob: f0dd0fbf0169424f0ba446067e731aa98507e811 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix nrl: <http://tracker.api.gnome.org/ontology/v3/nrl#> .
@prefix nie: <http://tracker.api.gnome.org/ontology/v3/nie#> .
@prefix nfo: <http://tracker.api.gnome.org/ontology/v3/nfo#> .
@prefix mto: <http://tracker.api.gnome.org/ontology/v3/mto#> .
@prefix tracker: <http://tracker.api.gnome.org/ontology/v3/tracker#> .

mto: a tracker:Namespace, tracker:Ontology ;
	tracker:prefix "mto" ;
	tracker:lastModified "2010-10-20T07:42:00Z" .

mto:TransferElement a rdfs:Class ;
	rdfs:label "Transfer element" ;
	rdfs:comment "Gives information about the transfer of a single element - typically a file. The properties in this class would need to be changed if it has to handle sync elements as well" ;
	tracker:notify true ;
	rdfs:subClassOf nie:InformationElement .

mto:Transfer a rdfs:Class ;
	rdfs:label "Transfer" ;
	rdfs:comment "Represent a single transfer task, which could have multiple transfer elements" ;
	tracker:notify true ;
	rdfs:subClassOf nie:InformationElement .

mto:UploadTransfer a rdfs:Class ;
	rdfs:label "Upload" ;
	rdfs:comment "Handles transfers of files/data present on the device to some place outside the device. Upload methods include uploading to a website, sending via BlueTooth etc. " ;
	rdfs:subClassOf mto:Transfer .

mto:DownloadTransfer a rdfs:Class ;
	rdfs:label "Download" ;
	rdfs:comment "Handles transfers of files outside the device into the device. This class will only refer to files downloaded from a website or recieved using BlueTooth etc. Files recieved with messages are not considered here. Those would be handled seperately using nmo:Message" ;
	rdfs:subClassOf mto:Transfer .

mto:SyncTransfer a rdfs:Class ;
	rdfs:label "Sync" ;
	rdfs:comment "Handles synchronization between the device and some server (a computer, or a website)" ;
	rdfs:subClassOf mto:Transfer .

# NO Web upload class

mto:source a rdf:Property ;
	rdfs:label "Source" ;
	rdfs:comment "The source for the transfer. If the transfer is an upload, it would be the URI for a file on the device. If the transfer is a (web) download, it will be a URL. Question: Does it make more sense to have two fields: uploadSource and downloadSource?" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:TransferElement ;
	rdfs:range rdfs:Resource .

mto:destination a rdf:Property ;
	rdfs:label "Destination" ;
	rdfs:comment "The destination of the transfer. If the transfer is an download, it would be the URI for a file on the device. If the transfer is a (web) upload, it will be a URL, which will be filled once the upload is completed." ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:TransferElement ;
	rdfs:range rdfs:Resource .

mto:startedTime a rdf:Property ;
	rdfs:label "Started" ;
	rdfs:comment "Captures the date and time when the transfer was started" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:TransferElement ;
	rdfs:range xsd:dateTime .

mto:completedTime a rdf:Property ;
	rdfs:label "Completed" ;
	rdfs:comment "Captures the date and time when the transfer ended. It must be set only when the trasfer element is completed succesfully" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:TransferElement ;
	rdfs:range xsd:dateTime .

mto:State a rdfs:Class ;
	rdfs:label "State value" ;
	rdfs:subClassOf rdfs:Resource ;
	rdfs:comment "Class with a restricted set of instances to enumarate transfer methods".

mto:state-active a mto:State .
mto:state-paused a mto:State .
mto:state-cancelled a mto:State .
mto:state-done a mto:State .
mto:state-pending a mto:State .
mto:state-error a mto:State .

mto:state a rdf:Property ;
	rdfs:label "State" ;
	rdfs:comment "Captures the current state of the transfer element: Pending (not started), In Progress, Paused, Cancelled, Done" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:TransferElement ;
	rdfs:range mto:State .

mto:transferState a rdf:Property ;
	rdfs:label "Transfer state" ;
	rdfs:comment "Captures the state of the transfer. This is derived from the cumulative states of the transfer elements of this transfer. Applications are responsible to keep it up-to-date" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:Transfer ;
	rdfs:range mto:State .

mto:TransferMethod a rdfs:Class ;
	rdfs:comment "Class with a restricted set of instances to enumarate transfer methods" ;
	rdfs:subClassOf rdfs:Resource .

mto:transfer-method-bluetooth a mto:TransferMethod .
mto:transfer-method-web a mto:TransferMethod .

mto:method a rdf:Property ;
	rdfs:label "Method" ;
	rdfs:comment "The method of transfer - Bluetooth, Web upload etc" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:Transfer ;
	rdfs:range mto:TransferMethod .

mto:created a rdf:Property ;
	rdfs:label "Created" ;
	rdfs:comment "The date and time when the transfer was created" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:Transfer ;
	rdfs:range xsd:dateTime .

mto:transferList a rdf:Property ;
	rdfs:label "Transfer List" ;
	rdfs:comment "A list of transfer elements" ;
	rdfs:domain mto:Transfer ;
	rdfs:range mto:TransferElement .

# unknown range - will need to be defined by the Account management guys
# FIXME FIXME FIXME FIXME: At the moment xsd:string so the transfer app guys can start working.
#  Waiting for a holistic accounts solution
#  It could also be a ContactMedium
mto:account a rdf:Property ;
	rdfs:label "Account" ;
	rdfs:comment "A reference to the account to which the web upload is to be done. This should at least contain information about the account and the service which is being used. For instance, Google/YouTube or Google/Picassa" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:Transfer ;
	rdfs:range xsd:string .

mto:starter a rdf:Property ;
	rdfs:label "Starter" ;
	rdfs:comment "The application that actually triggered the transfer - e.g. Gallery, Content Manager etc" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:Transfer ;
	rdfs:range nfo:Software .

mto:agent a rdf:Property ;
	rdfs:label "Agent" ;
	rdfs:comment "The application processing the transfer - e.g. Upload Engine etc" ;
	nrl:maxCardinality 1 ;
	rdfs:domain mto:Transfer ;
	rdfs:range nfo:Software .

mto:transferCategory a rdf:Property ;
	rdfs:label "Category for the transfer" ;
	rdfs:comment "This can contain category / tag / album / folder in the destination service" ;
	rdfs:domain mto:UploadTransfer ;
	rdfs:range  xsd:string .

# eg. Privacy level available to ALL transfers (or only to uploads?)
mto:transferPrivacyLevel a rdf:Property ;
	rdfs:label "Privacy level" ;
	rdfs:comment "It will contain an string with the privacy level in the service. The exact string and its interpretation is service specific" ;
	rdfs:domain mto:Transfer ;
	rdfs:range  xsd:string .