# Maemo Transfer Ontology (MTO): Representation of download and upload operations in the system

Authors:
- - Divya Subramanian <divya.subramanian@sasken.com>
  - Ivan Frade <ivan.frade@nokia.com>
Editors:
- - Ivan Frade <ivan.frade@nokia.com>
Upstream:

- Not available

ChangeLog:

- Tracker changes

Copyright:

- © 2009, 2010 Nokia

## MTO Ontology Classes

### mto:SyncTransfer

Handles synchronization between the device and some server (a computer, or a website)

`Superclasses` :

  mto:Transfer,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  --

### mto:TransferElement

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

`Superclasses` :

  nie:InformationElement,

`Subclasses` :

  --

`In domain of` :

  mto:state, mto:completedTime, mto:startedTime, mto:destination, mto:source,

`In range of` :

  mto:transferList,

#### Note:

This class notifies about changes

### mto:DownloadTransfer

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

`Superclasses` :

  mto:Transfer,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  --

### mto:UploadTransfer

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.

`Superclasses` :

  mto:Transfer,

`Subclasses` :

  --

`In domain of` :

  mto:transferCategory,

`In range of` :

  --

### mto:Transfer

Represent a single transfer task, which could have multiple transfer elements

`Superclasses` :

  nie:InformationElement,

`Subclasses` :

  mto:SyncTransfer, mto:DownloadTransfer, mto:UploadTransfer,

`In domain of` :

  mto:transferPrivacyLevel, mto:agent, mto:starter, mto:account, mto:transferList, mto:created, mto:method, mto:transferState,

`In range of` :

  --

#### Note:

This class notifies about changes

### mto:State

Class with a restricted set of instances to enumarate transfer methods

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  mto:transferState, mto:state,

`Predefined instances` :

  mto:state-error, mto:state-pending, mto:state-done, mto:state-cancelled, mto:state-paused, mto:state-active,

### mto:TransferMethod

Class with a restricted set of instances to enumarate transfer methods

`Superclasses` :

  rdfs:Resource,

`Subclasses` :

  --

`In domain of` :

  --

`In range of` :

  mto:method,

`Predefined instances` :

  mto:transfer-method-web, mto:transfer-method-bluetooth,

## MTO Ontology Properties

### mto:transferState

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

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  mto:State,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:destination

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.

`Type` :

  --

`Domain` :

  mto:TransferElement,

`Range` :

  rdfs:Resource,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:transferList

A list of transfer elements

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  mto:TransferElement,

`Superproperties` :

  --

`Subproperties` :

  --

### mto:transferPrivacyLevel

It will contain an string with the privacy level in the service. The exact string and its interpretation is service specific

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  xsd:string,

`Superproperties` :

  --

`Subproperties` :

  --

### mto:method

The method of transfer - Bluetooth, Web upload etc

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  mto:TransferMethod,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:state

Captures the current state of the transfer element: Pending (not started), In Progress, Paused, Cancelled, Done

`Type` :

  --

`Domain` :

  mto:TransferElement,

`Range` :

  mto:State,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:created

The date and time when the transfer was created

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  xsd:dateTime,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:agent

The application processing the transfer - e.g. Upload Engine etc

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  nfo:Software,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:source

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?

`Type` :

  --

`Domain` :

  mto:TransferElement,

`Range` :

  rdfs:Resource,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:starter

The application that actually triggered the transfer - e.g. Gallery, Content Manager etc

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  nfo:Software,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:account

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

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  xsd:string,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:transferCategory

This can contain category / tag / album / folder in the destination service

`Type` :

  --

`Domain` :

  mto:UploadTransfer,

`Range` :

  xsd:string,

`Superproperties` :

  --

`Subproperties` :

  --

### mto:completedTime

Captures the date and time when the transfer ended. It must be set only when the trasfer element is completed succesfully

`Type` :

  --

`Domain` :

  mto:TransferElement,

`Range` :

  xsd:dateTime,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1

### mto:startedTime

Captures the date and time when the transfer was started

`Type` :

  --

`Domain` :

  mto:TransferElement,

`Range` :

  xsd:dateTime,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1