# 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