# 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: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: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: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: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: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: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 Ontology Properties

### 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:method

The method of transfer - Bluetooth, Web upload etc

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  mto:TransferMethod,

`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:startedTime

Captures the date and time when the transfer was started

`Type` :

  --

`Domain` :

  mto:TransferElement,

`Range` :

  xsd:dateTime,

`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: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: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:transferList

A list of transfer elements

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  mto:TransferElement,

`Superproperties` :

  --

`Subproperties` :

  --

### 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:created

The date and time when the transfer was created

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  xsd:dateTime,

`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: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: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:agent

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

`Type` :

  --

`Domain` :

  mto:Transfer,

`Range` :

  nfo:Software,

`Superproperties` :

  --

`Subproperties` :

  --

`Cardinality` :

  1